ubuntu下快速配置TAO toolkit进行模型训练学习

系统环境:ubuntu22.04
英伟达驱动版本NVIDIA-Linux-x86_64-515.76.run
Anaconda版本Anaconda3-2022.10-Linux-x86_64
本教程全部在已安装好系统和驱动的前提下进行操作
1 卸载系统上比较旧的docker应用
sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc
然后用grep查看还有没有docker相关的文件
dpkg -l | grep docker
比如说发现还有docker-container没卸载掉
sudo apt-get autoremove docker-container
像这样全部卸载掉
卸载完之后用命令检查是否卸载干净
sudo docker version
没有任何输出即可
2 安装新的docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=amd64 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
#安装docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
3 将docker添加到非root用户
以非root用户身份管理Docker
Docker守护程序绑定到Unix套接字而不是TCP端口。默认情况下,Unix套接字由用户拥有root,其他用户只能使用sudo来访问它。Docker守护程序始终以root用户身份运行。
如果你不想在前言docker与命令sudo,创建一个名为UNIX组docker和用户添加到它。Docker守护程序启动时,它会创建一个可由该docker组成员访问的Unix套接字。
1.创建用户组
sudo groupadd docker
2.将您的用户添加到该docker组。
sudo usermod -aG docker $USER
如果没有用则
sudo gpasswd -a ${USER} docker
然后重启docker
systemctl restart docker
最后给docker.sock加权
sudo chmod a+rw /var/run/docker.sock
4 安装nvidia-container-toolkit
这里解释一下为什么不用nvidia-docker和nvidia-docker2
上述两个已经被英伟达迭代了,使用的话会出现别的问题
这里按照官方推荐使用nvidia-container-toolkit会更好
跟着命令一步步来
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
$ 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-container-toolkit
$ sudo systemctl restart docker
5 安装好之后我们可以测试一下
sudo docker run --rm --gpus all nvidia/cuda:11.7.0-base-ubuntu22.04 nvidia-smi
在这里要注意红色部分
Docker Hub中的CUDA, CUDAGL和OPENGL镜像已经弃用"latest"标签
在supported-tags中找到与自己系统对应的cuda版本,并将nvidia/cuda:latest中的latest改成对应的版本
对应的网址如下
https://gitlab.com/nvidia/container-images/cuda/blob/master/doc/supported-tags.md
6 输入ngc密钥
docker login nvcr.io
登录NGC获得权限
7 创建conda虚拟环境
创建conda环境
这里需要注意TAO对python是有要求的,随时记得参照官网

conda create -n launcher python=3.6.9
conda activate launcher
#如果想删除conda环境,这里示例一下删除已创建的名为test的环境
conda remove -n test - -all
8 安装TAO
pip3 install nvidia-pyindex
pip3 install nvidia-tao
9 安装NGC CLI *******参考我专栏的NGC CLI配置**********
10 下载示例文件用以学习TAO toolkit
wget --content-disposition https://api.ngc.nvidia.com/v2/resources/nvidia/tao/cv_samples/versions/v1.4.0/zip -O cv_samples_v1.4.0.zip
解压
unzip -u cv_samples_v1.4.0.zip -d ./cv_samples_v1.4.0 && rm -rf cv_samples_v1.4.0.zip && cd ./cv_samples_v1.4.0
11 conda环境里安装jupyter并启动
pip3 install jupyter
jupyter notebook --ip 0.0.0.0 --allow-root --port 8888
12 在打开的notebook里找到自己第十步解压的文件,参考里面的示例进行学习