踩了几天的坑,自带的依赖默认安装的是CPU版本的torch和orchvision,训练时候不要太慢,搭建好环境我4060的显卡比i9-13900hx训练快20倍。

这里我们选择得是:cuda 12.1 + torch-2.3.0 + torchvision-0.18.0
!!!这里一定要注意,安装的版本必须都是带GPU的版本,torchvision也是!!!

一、安装Anaconda3

我用的版本是Anaconda3-2023.09,其实哪个版本都差不多我们只需要用到里面的conda,安装好Anaconda3后需要设置系统环境变量Path

D:\Dev\anaconda3
D:\Dev\anaconda3\Scripts
D:\Dev\anaconda3\Library\mingw-w64\bin
D:\Dev\anaconda3\Library\bin

这里D:\Dev\anaconda3 为我的Anaconda3安装路径,设置好环境变量切记控制台输出 python–version 看看是不是输出Anaconda对应版本,如果出现出现问题检查环境变量,输入 where python

yolov5如何在GPU下训练 yolov5怎么用gpu_yolov5如何在GPU下训练


这里看到有俩个路径,我们得在Path环境变量里面把Anaconda3路径移动到C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps上面

接下来命令行或者Anaconda3得GUI窗口建conda环境,命令行下输入:

conda create -n yolo5_py38 python=3.8 #//创建名为yolo5_py38,python版本3.8的虚拟环境

二、安装cuda

https://zhuanlan.zhihu.com/p/672526561

我们这里下载 cuda 12.1 :https://developer.nvidia.com/cuda-12-1-0-download-archive,选择系统下载安装即可,安装好了检查环境变量有没有更新上去(这个一般不会出现意外)。


三、安装torch和torchvision

以防出错可以跟着我配置环境走,python版本可以选3.8和3.11都行,但是torch和torchvision必须选择相对于的版本,本文以python 3.8为例:

默认源下载太慢,我们去阿里源手动下载:https://mirrors.aliyun.com/pytorch-wheels/cu121/

下载时选择 torch-2.3.0+cu121-cp38-cp38-win_amd64.whl + torchvision-0.18.0+cu121-cp38-cp38-win_amd64.whl ,千万不要下载错了。

四、配置环境

1.先去github下载好yolov5,下载解压后用VS Code打开文件夹,在 requirements.txt

torch>=1.8.0
torchvision>=0.9.0
ultralytics>=8.0.232

这三个依赖删了或者注释了,前俩个默认是CPU版本,ultralytics在安装时会把CPU版的torch和torchvision自动安装(都是坑!)

我们切到train.py,在VS Code里 右下角选择解释器,里面选择我们之前搭建好的conda的python 3.8环境yolo5_py38,选择好之后重新打开VS Code,输入python --version 看看是不是输出正确的python版本。
接下来在终端窗口输入:

pip install requirements.txt
pip install (下载路径)\torch-2.3.0+cu121-cp38-cp38-win_amd64.whl
pip install (下载路径)\torchvision-0.18.0+cu121-cp38-cp38-win_amd64.whl

全部安装好后记得 pip list 查看安装的依赖库,如果显示:

yolov5如何在GPU下训练 yolov5怎么用gpu_yolov5如何在GPU下训练_02

torch和torchvision版本后带CU121即是安装成功,我们再在train.py

parser.add_argument("--device", default="2", help="cuda device, i.e. 0 or 0,1,2,3 or cpu")

里修改,我是笔记本,有2快CPU,default 填2,即可愉快的用GPU进行训练啦!

训练开始时出现GPU名即代表成功:

yolov5如何在GPU下训练 yolov5怎么用gpu_深度学习_03

如果训练过程中出现错误一般都是torch和torchvision安装的版本对应不上,或者一个是CPU版一个是GPU版,要仔细检查环境!!

如果训练过程中出现错误一般都是torch和torchvision安装的版本对应不上,或者一个是CPU版一个是GPU版,要跟着我配置走,

torch-2.3.0 + torchvision-0.18.0如果GPU不支持cuda 12.1还可以安装cuda 11.8版本,任意搭配一一对应即可!