[我参加NVIDIA Sky Hackathon] 训练模型安装
1 获取 NGC 秘钥
1. 创建 NGC 账号 :这个帐号与 NVIDIA Developer 账号是独立的,需要单独申请。如果已 经有 NGC 帐号的,请跳过下面申请的流程,直接到第 2 步“创建 NGC 密钥” (1) 登录 https://ngc.nvidia.com 会直接出现 CATALOG 画面 (2) 请点击下图右上角 ” Welcome Guest ”,然后点选下方 ” Sing in/Sing Up ” (3) 进入后点选 ” NVIDIA Account ” 旁边的” Continue ”,就会进入下图右的“登陆” 或“创建一个账户”的画面,然后按照标准开帐户的流程执行就可以。 2. 获取 NGC 密钥 : (1) 登陆 NGC ,点选右上角用户名,在下拉菜单中选择 ”setup” 选项 (2) 进入下面选项后,点击 ” Get API Key ” 在下面点击右上角” Generate API KEY ”会跳出“确认”,点击” confirm ”就可以 (3) 生成的这组密钥在整个训练过程以及最后推理时都需要用到 ,非常关键。由于密钥 只有在创建时候能看到内容,日后无法在 NGC 独立查询,请自行复制做好记录。 在 https://docs.nvidia.com/ngc/ngc-overview/index.html有NGC更完整说明。2 下载与安装语音与视觉训练使用的脚本
目录/文件名 | 用途 |
目录 | |
install nemo jetson nano.docx | NX上的Nemo安装步骤 |
install nemo on_x86_7th_sky_hackthon.docx | x86上的Nemo安装步骤 |
nemo_asr_7th_hackathon.ipynb | Nemo的ASR训练脚本 |
目录 | |
data.zip | 垃圾识别的实验图像集 |
7 th文件目录 | 模型训练范例脚本 |
tao-converter | NX/Jetpack 4.6版的tao converter |
sky黑客松-知识图谱-2022q4.pdf | 说明文件 |
XavierNX_7th_SkyHackathon_final | 比赛环境的NX上运行的文件 |
3 安装NVIDIA驱动460以上版本
$ $ $ $ | sudo apt-get install software-properties-common sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get install nvidia-driver-460 sudo reboot # 重启之后才会生效,重启后执行 nvidia-smi 检查驱动 |
4 安装 docker 与 nvidia-docker2
- 安装docker
$ $ $ $ $ $ | sudo apt-get install -y ca-certificates curl gnupg lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io # 测试安装 sudo docker run hello-world |
- 安装nvidia-docker2
$ $ $ $ $ $ | curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update && sudo apt-get install -y nvidia-docker2 sudo systemctl restart docker # 测试安装 sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi |
如果出现以下信息,表示docker与nvidia-docker2都安装完成:
4 安装MiniConda3与Jupyter开发环境
- 安装 MiniConda
$ $ $ $ $ | # 用国内清华源 export DL_SITE=https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda # 用原厂的源 export DL_SITE=https://repo.anaconda.com/miniconda # 下载安装包 wget -c $DL_SITE/Miniconda3-py38_4.10.3-Linux-x86_64.sh # 执行安装,全部按照预设路径与”yes”选项 bash Miniconda3-py38_4.10.3-Linux-x86_64.sh # 启动 Conda source ~/.bashrc |
- 安装 Jupyter Lab
$ $ $ | pip install jupyter jupyterlab # 设置登录密码 export PW=’自行提供‘ python3 -c "from notebook.auth.security import set_password; set_password('$PW','$HOME/.jupyter/jupyter_notebook_config.json')" |
5 安装NeMo 1.4.0
(1)安装Pytorch
通过pip安装GPU版本Pytorch参考链接Previous PyTorch Versions | PyTorch
例如Pytorch1.12.1版本则安装指令如下:
$ pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113
(2)安装NeMo:
$ $ $ $ $ $ $ | sudo apt-get update && sudo apt-get install -y libsndfile1 ffmpeg pip install Cython pip install --user pytest-runner pip install rosa numpy==1.19.4 pip install torchmetrics==0.6.0 pip install nemo_toolkit[all]==1.4.0 pip install ASR-metrics |
(3)检测NeMo
$ | python >>>import nemo >>>import nemo.collections.asr as nemo_asr |
若没有报错表示安装成功(warning不用理会)
6 安装TAO 模型训练优化工具:用python与virtualenv
(1)安装virtualenv虚拟环境:这是确保TAO有独立的Python执行环境,为配合Nemo工具使用Python 3.8的MiniConda安装,因此这里的virtualenv也绑定在MiniConda的Python3上
$ $ $ $ | pip install virtualenv virtualenvwrapper # 创建目录用来存放虚拟环境 mkdir $HOME/.virtualenvs # 在~/.bashrc中添加行: export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=$HOME/miniconda3/bin/python3 source $HOME/miniconda3/bin/virtualenvwrapper.sh # 保存并退出 source ~/.bashrc # 创建名为”tao”的 Virtualenv mkvirtualenv tao -p $HOME/miniconda3/bin/python3 |
(2)安装TAO模型训练工具:
$ $ $ $ | # 确认在 ”tao” 的 Virtualenv 环境下,如果不在的话就执行以下指令 workon tao # 安装nvidia-pyindex与nvidia-tao pip3 install nvidia-pyindex pip3 install nvidia-tao # 检查安装 tao info |
(3)启动TAO模型训练工具Jupyter交互界面:
$ $ | # 启动名为 “tao” 的virtualenv workon tao # 进入工作目录并启动 Jupyter Lab cd ~/hackathon && jupyter lab --ip 0.0.0.0 --port 8888 --allow-root |
输入您先前设置的密码就能进去,进入Jupyter Lab之后是以~/hackathon为根目录。
启动Jupyter的指令:
$ | jupyter lab --ip 0.0.0.0 --port 8888 --allow-root |
7 安装Flask服务器
(1)在机器上执行以下命令安装 Flask 服务器:
$ | pip install Flask |
(2)在 Jupyter notebook 里打开 server.ipynb 文件,然后在第一行执行 SHIFT+ENTER启动 Flask 服务器: