Yolov11 pytorch环境搭建及测试全过程
注:pytorch环境搭建适用于Yolo所有系列
一、Nvidia驱动更新
win+R打开搜索栏,输入cmd。
之后在控制台输入nvidia-smi
即可查看CUDA Version,此处版本为cuda最高支持版本,安装cuda时不大于该版本即可。
若该版本较低,则去英伟达官网进行驱动更新
网址:NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA进入该官网后,自行搜索对应的驱动进行安装。
注:笔记本用户搜索安装时需下载后标有laptop的驱动程序。
驱动程序安装之后进行Anaconda安装
二、Anaconda安装
再进行驱动更新安装之后,进行Anaconda安装,该软件为环境管理软件,方便把运行yolov11所需的环境进行增添删改等操作若需了解更多,可查博客:anaconda的安装和使用(管理python环境看这一篇就够了)-CSDN博客。
打开该网站Download Anaconda Distribution | Anaconda,之后填入相应的Email Address地址,然后进行相应的系统以及版本选择,若需使用更低版本的python或者Anaconda,在该网站Index of /中选取下载即可。下载安装时注意选取相应的安装地址,不一定非得装在C盘,安装过程略。
安装完成后,在开始界面(按win键或者点击左下角)即可看见该选项
点击该选项:Anaconda Prompt(Anaconda)即可。
三、Pytorch安装
在进入之后,可以看到这样界面,在该界面进行操作。!!但是并非在该base环境下进行操作。
输入 conda env list即可查看电脑上所拥有的环境,除base外,其他环境需自行安装。
在这里,我们开阔一个新的虚拟环境:abc(你也可以取其他ID,任意取非中文即可)
创建虚拟环境指令:conda create -n abc python=3.12
其中,python版本以及虚拟环境名称都可以更改,根据自己喜好以及需求选择即可。输出该指令之后:
输入英文 y 即可进行下载安装。
下载安装之后,在该界面下继续输入conda env list 查看创建的虚拟环境abc:
之后,输入 conda activate abc 切入到该虚拟环境中:
在该虚拟环境下,进行yolov11其需要的相关包的安装操作,下面需安装pytorch架构(Gpu版本)
(1)安装Pytorch
在安装Pytorch之前,因为Pytorch其相关服务器在国外,下载环境包较慢,我们可以给其换为清华源or其他源:
下面以清华源为例:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
之后打开pytorch官网:PyTorch
在一开始我们可以看见我们显卡驱动最高支持cuda版本为12.6,因此在这里我们可以选择其中任意版本下载(若驱动cuda版本较低,则选择不大于驱动版本的驱动即可。)
!!此处Package需选择Conda,其默认为pip安装。
这里以12.4为例:
复制该红框中的指令,之后切到控制台abc虚拟环境下输入:
在输入后,回车,等待其加载结束·······(若结果出现错误,则把-c pytorch -c nvidia这一串去掉重试,别忘了切换虚拟环境abc)
在加载结束后,此处会询问y/n?输入y即可
输入y之后等待其安装完成之后即可,完成后显示done即pytorch环境安装成功。
下一步即可安装cuda+cudnn(这步可跳过,因为在pytorch中已经安装上相应版本的cuda)但若你在使用过程中单独需要用到,可进行该操作。
四、cuda+cudnn安装
声明:这步可以跳过,安装好的pytorch环境中有携带cuda版本的torch,无需再进行这步操作。
而其中CUDA Toolkit 与 torch.version.cuda 的关系可参考该博客详解Windows 11 上 CUDA 与 PyTorch 版本的兼容性-CSDN博客
下面进行实操步骤:
(1)安装cuda
首先,下载CUDA。官网下载地址:CUDA Toolkit Archive | NVIDIA Developer
根据你cuda的最高版本选择你所需的CUDA Toolkit进行下载,这里以CUDA Toolkit 12.4.0版本为例:
选择你所对应的操作系统以及版本,这里的local意为本地安装,选择该项即可,之后进行下载。
下载完成后,安装地址默认即可,然后安装中的选项,选择自定义安装,将其中的CUDA打勾即可,其他选项可不安装。
之后,安装结束后,win+R打开控制台,输入nvcc -V即可查看cuda是否安装成功,若出现该提示,则证明安装成功(我这里安装的是12.1)
(2)安装cudnn
cudnn版本需与cuda版本对应,其官网为cuDNN Archive | NVIDIA Developer
在此处选择与你所安装CUDA版本对应的cuDNN,例如安装为CUDA12.4,则选择第一个即可。
点开第一个后,选择你对应系统的选项,例如Local installer for windows进行下载,下载完成后,解压缩。
解压缩后,获得以下文件:
将该文件复制至你cuda所安装的路径,若无更改,默认路径为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1
复制粘贴至该路径即可,然后进行环境变量更改。
(3)环境变量
右键此电脑,属性。
选择高级系统设置:
之后点击环境变量。
通常情况下,cuda安装好后,在系统变量中会出现CUDA_PATH路径,若无点击下方新建即可,名称即为CUDA_PATH,路径即为CUDA所在路径。
而在user的用户变量的Path中,并不会出现相应路径,点击新建,添加如图所示环境变量即可。
在所有环境变量设置好后,回到安装CUDA的目录,找到extras文件夹中的demo_suite。在上方输入cmd打开该文件夹。
之后在里面输入deviceQuery.exe,若显示pass则安装成功。
下一步,输入bandwidthTest.exe,若显示pass则安装成功。
至此,若没出现什么问题,则cuda与cudnn安装成功。
五、Pycharm环境应用
在搭建好上述环境后,我们可以在pycharm or vs中应用,这里选择Pycharm举例。
(1)安装Pycharm
进入该官网,下载PycharmPyCharm: the Python IDE for data science and web development
下载完成后,安装时将其选项全部勾上进行安装,安装完成后,汉化过程可自行百度。
(2)环境应用
方法一:
点击设置
选择该项目下的Python解释器,点击右侧的添加解释器。点击选项:添加本地解释器。
选择右侧的Conda环境,然后点击使用现有环境,在现有环境中点击搭建好的环境:abc(or 你命名的id)
然后点击应用即可。这样在Pycharm中就将搭建好的pytorch应用了。
(3)环境测试
在Pycharm中创建一个项目,可命名为环境测试,将其脚本中的代码删除,然后输入以下代码:
import torch
print(torch.cuda.is_available())
print(torch.backends.cudnn.is_available())
print(torch.backends.cudnn.version())
print(torch.__version__)
输入完成后,注意右下角是否为你所搭建的虚拟环境名称
之后运行该脚本。
若输出:
类似于该输出,则证明环境搭建成功!
六、Yolov11初步运行
(1)下载Yolov11代码:
Yolov11官网:GitHub - ultralytics/ultralytics: Ultralytics YOLO11 🚀
在该官网中,点击Download ZIP,下载该代码压缩文件,之后进行解压,将其用Pycharm打开。
(2)Yolov11对应的需求模块安装
打开解压缩后的代码之后,右下角选择对应环境,可以看到该项目的README文本,里面详细介绍了怎么下载其所需的requirements文件,以及相应的Python和Pytorch版本要求。相较于之前的Yolo系列不同的是,Yolov11并无实质的requirements文本
若需要安装其对应的模块的话,只需在控制台输入:
pip install ultralytics
之后将进行相应的模块需求安装,安装完成后会显示successfully··········
(3)简单运行测试
1.前提准备
在安装好环境后,可以进行简单的测试来看一下是否可以训练以及预测
!!!注:在进行测试前,需要将其中的num_workers==nw改为 num_workers=0
原因:num_workers是用来指定开多进程的数量,在Linux中可以用而在windows中不可用,会报RuntimeError: DataLoader worker (pid(s) ***, ***, ***, ***) exited unexpectedly
错误。
操作:点击右上角搜索,搜索num_workers
点击num_workers=nw选项
在此处,将该参数改为0即可。
2.测试运行
测试运行时,为了方便快捷选择的数据集为coco8,该数据集运行下述代码后会自行安装
方式一:CLI方式
三种任选其一在终端运行即可。
yolo detect train data=coco8.yaml model=yolo11n.yaml epochs=100 imgsz=640
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640
yolo detect train data=coco8.yaml model=yolo11n.yaml pretrained=yolo11n.pt epochs=100 imgsz=640
方式二:python脚本
该方式,在项目下新建一个python脚本将代码复制进去即可运行。
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.yaml") # build a new model from YAML
model = YOLO("yolo11n.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo11n.yaml").load("yolo11n.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
若环境及数据集和预训练模型可以下载的话,则该训练也不会有问题。
若训练时想要调整一些参数可去Train - Ultralytics YOLO Docs该网站进行查询
运行结束后在项目目录下会出现相应的训练结果。
若需训练自己的数据集,可自行百度,后续也会出相应的训练自己数据集的教程,大家可先行关注!谢谢!!
若大家有什么问题可评论区留言,看到就会回复。