1148浏览
查看: 1148|回复: 0

NVIDIA Jetson Nano 2GB 系列文章(55):安装TAO模型训练工具

[复制链接]
NVIDIA 将大部分应用透过 Dcoker 容器技术进行封装,并且为了协助开发人员更加轻松地使用这些软件,NVIDIA 特别开发了一个 nvidia-pyindex 工具,将应用安装的过程变得更加简单, TAO 训练工具也不例外。

完整的 TAO 安装流程请参考 https://docs.nvidia.com/tao/tao-toolkit/ 里的 “TAO Toolkits Quick Start Guide” ,目前这个工具只支持 x86 电脑的 Ubuntu 操作系统,以下为最基本的硬件需求:
  • CPU:推荐8核以上,最好支持 AVX2 以上指令集,否则某些神经网络的模型训练会出现失败的状况,例如 detectnet_v2 。
  • 内存:推荐 32GB 以上,至少也需要 16GB 。
  • GPU卡:推荐 32GB 显存的计算卡,至少需要 8GB 。
  • 存储:推荐使用 SSD 硬盘,至少使用 7200RPM 转速的机械硬盘。
以上系统要求是容易达到的,目前测试过用 8GB 显存的 RTX 2070 或 3070 都能顺利执行训练任务,但是显存大小对模型训练的计算有很大的影响,另外一款 RTX A4000 配置 16GB GDDR6 显存,是性价比相当好的一个选择。
  • 操作系统与安装 NVIDIA 驱动


至于操作系统方面,推荐 Ubuntu 18.04 或 20.04 桌面版,这两个都是经过测试兼容性比较好的版本,接下去只要在上面执行以下指令,安装好 NVIDIA 的 GPU 驱动即可,要求为 455 以上版本,目前测试到 495 版本也是很稳定:

  1. sudo apt-get install software-properties-common
  2. sudo add-apt-repository ppa:graphics-drivers/ppa
  3. sudo apt-get install nvidia-driver-495
  4. sudo reboot
复制代码

执行以上指令之后必须重启系统才会生效,重启后执行 nvidia-smi ,如果出现以下画面就表示驱动已经安装成功。

NVIDIA Jetson Nano 2GB 系列文章(55):安装TAO模型训练工具图1

  • 安装 TAO 所需要的配套环境:

如今 NVIDIA 大部分应用都使用 Docker 容器技术进行封装,并且使用 Jupyter 作为操作工具,因此使用之前务必先安装好 docker 、 nvidia-docker 、 Jupyter 这些软件,最后安装 virtualenv 这个 Python 虚拟环境并非必要的,如果是对 Python 不熟悉的使用者,建议按照说明进行安装预配置。
1. 安装 docker 操作环境 :以下步骤都是标准的流程,不多做说明
  1. sudo apt install -y ca-certificates curl gnupg lsb-release
  2. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg \ --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  3. 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
  4. sudo apt update
  5. sudo apt install -y docker-ce docker-ce-cli containerd.io
复制代码

测试 docker 的安装,请执行以下指令:

  1. sudo docker run hello-world
复制代码

如果显示以下信息,就表示这部分的安装是成功的:

NVIDIA Jetson Nano 2GB 系列文章(55):安装TAO模型训练工具图2

由于 docker 指令的执行是需要权限的,但如果每次都需要在前面加上 “sudo” 再输入密码的话,就会变得较为繁琐,可以执行以下操作去免除 “sudo” 权限:

  1. sudo addgroup --system docker
  2. sudo adduser $USER docker && newgrp docker
  3. sudo groupadd docker && sudo usermod -aG docker $USER
复制代码

现在就能为您节省很多麻烦!
2. Docker 登录 NGC :只要登录一次就行

  1. export KEY='在NGC生成的密钥'
  2. docker login -u '$oauthtoken' --password-stdin nvcr.io <<< $KEY
复制代码

NVIDIA Jetson Nano 2GB 系列文章(55):安装TAO模型训练工具图3

最后显示 “Login Succeeded” 就表示登录成功,只要没有在 NGC 上重新生成密钥,这个登录就只要执行一次就可以,不需要每次开机都登录。

3. 安装 nvidia-docker2 :以下步骤也是标准的流程,不多做说明

  1. curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
  2. distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
  3. curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list |  sudo tee /etc/apt/sources.list.d/nvidia-docker.list
  4. sudo apt-get update && sudo apt-get install -y nvidia-docker2
  5. sudo systemctl restart docker
复制代码

测试 nvidia-docker2 的安装,请执行以下指令:

  1. docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
复制代码

如果出现以下信息,表示 nvidia-docker2 也安装完成:

NVIDIA Jetson Nano 2GB 系列文章(55):安装TAO模型训练工具图4

这里显示的内容虽然与本机的 nvidia-smi 完全一样,不过前者是本机所得到的信息,这里是容器所执行的显示结果。
4. 安装 Jupyter Lab 交互式环节:

  1. sudo apt install python3-pip
  2. sudo pip3 install -U pip
  3. sudo pip3 install jupyter jupyterlab
  4. # 设置登录密码
  5. export PW=’自行提供‘
  6. python3 -c "from notebook.auth.security import set_password;
  7. set_password('$PW','$HOME/.jupyter/jupyter_notebook_config.json')"
复制代码

启用 Jupyter Lab :

  1. cd <您的工作目录>
  2. jupyter-lab --ip 0.0.0.0 --port 8888 --allow-root --no-browser
复制代码

现在就能用浏览器(推荐使用 Chrome )输入: 8888 ,输入前面自行设定的密码,就能进入 Jupyter 工作环境,会以执行命令的位置作为工作的根 ( root ) 路径。

5. 安装 Python 的虚拟环境(非必要)
NVIDIA 为 TAO 开发的一个 Python 版本启动器 ( launcher ) ,为了确保使用环境的隔离,在官方安装文件里使用 virtualenv 创建 Python 的虚拟工作环境,但是经过测试验证,使用 conda 虚拟技术或者完全不使用虚拟环境,也都能正常运作,请根据自己的实际状况进行处理。
如果要使用 virtualenv 虚拟工具的话,请按照以下步骤进行安装:


  1. pip3 install virtualenv virtualenvwrapper
  2. # 创建目录用来存放虚拟环境
  3. mkdir $HOME/.virtualenvs
  4. # 在~/.bashrc中添加行:
  5. export WORKON_HOME=$HOME/.virtualenvs
  6. export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
  7. source /usr/local/bin/virtualenvwrapper.sh
  8. # 保存并退出
  9. source ~/.bashrc
  10. # 创建名为”tao”的 Virtualenv
  11. mkvirtualenv tao -p /usr/bin/python3
  12. # 关闭“tao”虚拟环境
  13. deactivate
  14. # 重新启动 “tao”虚拟环境
  15. workon tao
复制代码


以上就完成所有配套所需要的软件,接下去就开始安装 TAO 的工作元件。

  • 安装 TAO 的工作元件:

1. TAO 的启动器:可以在 virtualen 或 conda 虚拟环境下

  1. pip3 install nvidia-pyindex
  2. pip3 install nvidia-tao
  3. # 检查安装
  4. tao info
复制代码

如果安装正常的话,会看到下面信息:

NVIDIA Jetson Nano 2GB 系列文章(55):安装TAO模型训练工具图5

这边会看到 “~/.tao_mounts.json wasn't found” 的信息,这是因为我们还未去执行路径映射的任务,所以没有这个文件是正常的,现在表示 TAO 启动器已经安装完成。

2.  下载 TAO 镜像文件:
虽然在标准执行的流程中,我们不需要事先下载镜像到本机里,但由于这个高达 15GB 的镜像文件是放置于境外的英伟达原厂服务器上,在国内的实际操作过程中并不是太稳定,因此推荐在执行任务之前,先执行独立的镜像下载工作。

TAO 的视觉类 ( CV AI ) 与对话类 ( Conv AI ) 的镜像文件是不一样的,分别在以下链接:
  • 视觉类容器:https://catalog.ngc.nvidia.com/orgs/nvidia/teams/tao/containers/tao-toolkit-tf
  • 对话类容器:https://catalog.ngc.nvidia.com/orgs/nvidia/teams/tao/containers/tao-toolkit-pyt

请执行以下指令,将两个容器都先下载到模型训练设备上:

  1. # 下面版本请根据实际状况进行调整
  2. export TAO_CV_VER=v3.21.11-tf1.15.4-py3
  3. docker pull nvcr.io/nvidia/tao/tao-toolkit-tf:$TAO_CV_VER
  4. # 下面版本请根据实际状况进行调整
  5. export TAO_CONV_VER=v3.21.11-py3
  6. docker pull nvcr.io/nvidia/tao/tao-toolkit-pyt:$TAO_CONV_VER
复制代码

下载完毕之后用 docker images 指令检查,看看是否如下图的信息:

NVIDIA Jetson Nano 2GB 系列文章(55):安装TAO模型训练工具图6

这样就已经完成整个 TAO 模型训练的开发环境。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail