Docker環境搭建CUDA12.2 + Yolov5 7.0 GPU訓練環境(單卡訓練)

金元宝骑骑發表於2024-11-15

1、建立Docker容器,指定Shm共享記憶體。

docker run -d -it --name yolov5 --gpus all -p 20000:22 --shm-size 16g dockerproxy.cn/nvidia/cuda:12.2.0-devel-ubuntu22.04

2、進入容器,升級安裝器apt

docker exec -it f7383b766c6d /bin/bash

apt-get update
apt-get install vim

3、安裝ssh連線,並設定密碼、開機啟動

apt-get install openssh-server
passwd

新增root連線許可權

vim /etc/ssh/sshd_config

註釋這一行PermitRootLogin prohibit-password

新增一行PermitRootLogin yes

然後儲存退出,重啟服務

/etc/init.d/ssh restart

在 /root 目錄下新建一個 start_ssh.sh檔案,並給予該檔案可執行許可權

vim /root/start_ssh.sh

指令碼內容為

#!/bin/bash
 
LOGTIME=$(date "+%Y-%m-%d %H:%M:%S")
echo "[$LOGTIME] startup run..." >>/root/start_ssh.log
service ssh start >>/root/start_ssh.log
chmod +x /root/start_ssh.sh

將start_ssh.sh指令碼新增到啟動檔案中

vim ~/.bashrc

# startup run
if [ -f /root/start_ssh.sh ]; then
      /root/start_ssh.sh
fi

source ~/.bashrc

4、設定CUDA環境變數

vim ~/.bashrc

export LD_LIBRARY_PATH=/usr/local/cuda/lib
export PATH=$PATH:/usr/local/cuda/bin

source ~/.bashrc

5、測試CUDA可用性

nvidia-smi
nvcc -V

Docker環境搭建CUDA12.2 + Yolov5 7.0 GPU訓練環境(單卡訓練)

Docker環境搭建CUDA12.2 + Yolov5 7.0 GPU訓練環境(單卡訓練)

6、安裝Python3.8.10

安裝底層包

apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
apt-get install lzma
apt-get install liblzma-dev
apt-get install libbz2-dev

下載Python-3.8.10.tar.xz,並複製至容器中,解壓安裝

tar xvJf Python-3.8.10.tar.xz
cd Python-3.8.10

./configure --enable-optimizations
make
make install

測試版本

python3 -V

找到容器中原有Python3對應的bzip2 的 .so 檔案_bz2.cpython-36m-x86_64-linux-gnu.so,我的是在3.6環境下安裝的因此位置在 /usr/lib/python3.6/lib-dynload/ 下,將對應的 .so 檔案 複製python3.8 對應的目錄下(我的是/usr/local/lib/python3.8/lib-dynload/ 需要根據你自己安裝的位置尋找)

並將檔名中“36m” 修改為 “38” 即可。

tips:(find命令) find (目錄起點) -name 加上檔名 查詢檔案比較快

可以使用whereis python3 來找到系統預設的python 環境的位置。

7、安裝git並拉取yolov5程式碼,此時tag為7.0

apt-get install git

mkdir /project

cd /project

git clone https://github.com/ultralytics/yolov5.git

cd yolov5

8、安裝pytorch,因為此時在容器內部,所以不再安裝虛擬環境,pytorch與torchvision版本選取如下,下載複製安裝即可

pip3 install /work/torch-2.3.0+cu121-cp38-cp38-linux_x86_64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install torchvision-0.18.0+cu121-cp38-cp38-linux_x86_64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple

9、安裝其他依賴,安裝前,使用vim開啟requirements.txt,將torch與torchvision註釋,因為這是cpu版本

pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

安裝額外依賴

pip3 install opencv-python-headless -i https://pypi.tuna.tsinghua.edu.cn/simple

10、設定gpu可見性環境變數

vim ~/.bashrc

export CUDA_VISIBLE_DEVICES=0

source ~/.bashrc

相關文章