ubuntu下快速配置TAO toolkit進(jìn)行模型訓(xùn)練學(xué)習(xí)

系統(tǒng)環(huán)境:ubuntu22.04
英偉達(dá)驅(qū)動版本NVIDIA-Linux-x86_64-515.76.run
Anaconda版本Anaconda3-2022.10-Linux-x86_64
本教程全部在已安裝好系統(tǒng)和驅(qū)動的前提下進(jìn)行操作
?
1 卸載系統(tǒng)上比較舊的docker應(yīng)用
sudo apt-get autoremove docker docker-ce docker-engine? docker.io? containerd runc
然后用grep查看還有沒有docker相關(guān)的文件
dpkg -l | grep docker
比如說發(fā)現(xiàn)還有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守護(hù)程序綁定到Unix套接字而不是TCP端口。默認(rèn)情況下,Unix套接字由用戶擁有root,其他用戶只能使用sudo來訪問它。Docker守護(hù)程序始終以root用戶身份運(yùn)行。
如果你不想在前言docker與命令sudo,創(chuàng)建一個名為UNIX組docker和用戶添加到它。Docker守護(hù)程序啟動時,它會創(chuàng)建一個可由該docker組成員訪問的Unix套接字。
?
1.創(chuàng)建用戶組
sudo groupadd docker
2.將您的用戶添加到該docker組。
sudo usermod -aG docker $USER
如果沒有用則
sudo gpasswd -a ${USER} docker
然后重啟docker
systemctl restart docker
最后給docker.sock加權(quán)
sudo chmod a+rw /var/run/docker.sock
?
4 安裝nvidia-container-toolkit
?????? 這里解釋一下為什么不用nvidia-docker和nvidia-docker2
?????? 上述兩個已經(jīng)被英偉達(dá)迭代了,使用的話會出現(xiàn)別的問題
?????? 這里按照官方推薦使用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鏡像已經(jīng)棄用"latest"標(biāo)簽
在supported-tags中找到與自己系統(tǒng)對應(yīng)的cuda版本,并將nvidia/cuda:latest中的latest改成對應(yīng)的版本
對應(yīng)的網(wǎng)址如下
https://gitlab.com/nvidia/container-images/cuda/blob/master/doc/supported-tags.md
?
6 輸入ngc密鑰
docker login nvcr.io
登錄NGC獲得權(quán)限
?
7 創(chuàng)建conda虛擬環(huán)境
創(chuàng)建conda環(huán)境
這里需要注意TAO對python是有要求的,隨時記得參照官網(wǎng)

conda create -n launcher python=3.6.9
conda activate launcher
#如果想刪除conda環(huán)境,這里示例一下刪除已創(chuàng)建的名為test的環(huán)境
conda remove -n test?- -all
?
8 安裝TAO
pip3 install nvidia-pyindex
pip3 install nvidia-tao
?
9 安裝NGC CLI *******參考我專欄的NGC CLI配置**********
10 下載示例文件用以學(xué)習(xí)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環(huán)境里安裝jupyter并啟動
pip3 install jupyter
jupyter notebook --ip 0.0.0.0 --allow-root --port 8888
12 在打開的notebook里找到自己第十步解壓的文件,參考里面的示例進(jìn)行學(xué)習(xí)