【备忘】从零开始搭建Yolo5训练环境
1. 背景
不包含Yolo5所需的各种库,基础环境总览如下:
-
硬件
CPU: Intel® Xeon® Silver 4210R CPU @ 2.40GHz × 20
RAM:32GB DDR4
SSD:512GB NVME
HD:2.8TB RAID5。
Graphic: NVIDIA RTX-3060Ti -
OS:
Ubuntu:20.04.4 LTS
Kernel: 5.15.0-43-generic
Graphic Driver: NVIDIA driver metapackage 来自 nvidia-driver-515(专有,tested)
特别提醒,必须保证显卡驱动的正确安装,且能被OS所认识,否则会影响后面的cuda安装或造成死机等奇怪现象。如下图则说明驱动正确安装。
-
cuda
(base) ubuntu@ubuntu-Super-Server:~$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243
- anaconda版本 – 4.13.0
安装anaconda纯粹就是利用它的虚拟环境区分能力,它网站的安装包管理说实在很难用。
(base) ubuntu@ubuntu-Super-Server:~$ conda --version
conda 4.13.0
- python版本 – 3.10.4
(yolo5) ubuntu@ubuntu-Super-Server:~$ python --version
Python 3.10.4
- Pytorch(1.13.0,请注意,这个版本与显卡硬件的并行计算能力相关,详情可参考,RTX-3060Ti要求Nightly的preview版本)以及cudatoolkit(11.6)
>>> import torch
>>> torch.__version__
'1.13.0.dev20220804+cu116'
2. 安装过程
1. 显卡驱动
- 前往NVIDIA显卡驱动下载地址选择正确的CPU架构以及OS后下载驱动
- 下载后驱动文件应该为一个后缀为.run的文件,将此文件赋予执行权限(sudo chmod +x NVIDIA-Linux-x86_64-515.65.01.run)
- 重启机器,长按Shift键,进入grub的命令行模式。在命令行模式(无X-server启动)的情况下,运行以上run文件,安装完成后重启。
2. 安装cuda
基本以下两条命令顺序执行就可以了,留意gcc的版本,网上有文章说不能低于7.5,我是9.4,可以gcc -v看一下。
sudo apt-get install build-essential
sudo apt-get install nvidia-cuda-toolkit
#检查是否正确安装
nvcc --version
3. 安装anaconda及配置虚拟环境
【写在前面】请勿在第3步前安装以下任何的软件,包括:Python、Pytorch、cuda-toolkit、yolo各依赖包,这些安装都要在虚拟环境下进行,否则机器的实验环境会弄得很乱。
3.1 下载anaconda
- 可以到以下链接下载Linux 64位的安装包:Anaconda下载链接
- 下载完成后同样赋予可执行的权限。(sudo chmod +x <anaconda_install_package.sh>)
3.2 配置虚拟环境
- 第一步,升级conda
- 第二步,创建虚拟环境。执行“新建虚拟环境命令”
- 第三步,进入虚拟环境。
# 升级conda
conda update conda
conda update anaconda
# 新建虚拟环境命令
# 创建虚拟环境时可以顺便指定该虚拟环境下的Python版本,把optional后的加进去即可。
conda create -n <your-env-name> [optional: python=<your-python_version>]
# 查看各虚拟环境名称
conda info --envs
# 进入虚拟环境
conda activate <your-env-name>
# 退出虚拟环境
conda deactivate
4. 安装Yolo5环境
4.1 在conda无激活的环境下安装git
conda deactivate
# 确保console完全退出conda环境(包括base),如果你是从base环境进入自建虚拟环境,则需要执行两次。
sudo apt-get install git
# 然后git初始化一下,不赘述。
4.2 进入虚拟环境
conda activate <your-env-name>
# 不记得env名称就 conda info --envs 一下
4.3 拉取Yolov5项目
git clone https://github.com/ultralytics/yolov5.git
5. 安装Pytorch、cuda-toolkit以及各依赖包
5.1 安装Pytorch+cuda-toolkit(在虚拟环境下,后续除非特殊说明,一般都在虚拟环境下进行)
在以下链接自行选择,我的选择如下图
特别提示一下,尽量不要用conda install < your-package-name >命令,源比较慢,最关键会出现各个依赖库的confilct,我一开始也是打算全部用conda install完成,后来还是放弃了,直接用pip吧。
#第一步,先升级pip到最新
pip install -U pip
#第二步,安装Pytorch,命令如下,我的环境pip跟pip3是一样的,所以我直接用了pip
pip install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cu116
5.2 安装yolov5所需的依赖包
-
第一步,修改yolov5目录下的requirements.txt,注释掉torch和torchvision,这两项在5.1里面已经装过了。个人推荐加上wandb。
-
第二步安装依赖包
pip install -r requirements.txt
至此,环境的搭建基本完成,可以按照以上步骤检查一下。