YOLOv8训练模型环境安装记录

258 阅读5分钟

使用YOLOv8的原因是因为YOLOv8模型检测精度更高且拓展性更好(支持分割/姿态估计等新任务)

环境安装

安装miniconda

miniconda清华镜像地址

0下载miniconda.png

miniconda是anaconda的轻量版,仅包括 conda、Python、它们两者所依赖的包以及少量其他有用的包(官网说的,我简单粘贴一下)。

安装的时候注意安装目录中不要有中文,勾选将其添加到PATH

1miniconda安装选择justme.png

2miniconda安装到一个空文件夹.png

3miniconda安装选择添加PATH环境变量.png

conda环境创建

因为在当前环境安装不同的库,后期可能会过于臃肿。不同的项目可能使用的库的版本也不一样。为了彼此之间不互相干扰,使用虚拟环境。

可以按下windows键,之后在搜索框输入conda就可以看到Anaconda Prompt,进入之后显示默认路径。

4windows搜索conda命令行.png

配置conda镜像

1.配置conda镜像服务器,加快文件下载速度(非必需) 依次输入下面两条命令

 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
 conda config --set show_channel_urls yes

配置pypi镜像

pypi配置清华镜像(非必需)

pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

修改虚拟环境的默认路径(非必需)

找到用户目录下的.condarc文件(C:\Users\username)。

打开.condarc文件之后,添加或修改.condarc 中的 env_dirs 设置环境路径,按顺序第⼀个路径作为默认存储路径,搜索环境按先后顺序在各⽬录中查找。直接在.condarc添加:

envs_dirs:
  - D:\SoftD\08envs
pkgs_dirs:
  - D:\SoftD\08envs

创建python3.8虚拟环境(虚拟环境名称为yolov8)

conda create -n yolov8 python=3.8

需要明确指定版本,否则可能会导致有些包安装不上。python版本太高容易和其他库产生版本不兼容问题。 5conda创建虚拟环境并且激活虚拟环境.png

激活3.8虚拟环境

 conda activate yolov8

如图所示激活成功

image.png

安装pytorch

在一个单独的环境中,能使用pip就尽量使用pip,实在有问题的情况,例如没有合适编译好的系统版本的安装包,再使用conda进行安装,不要来回混淆。

CUDA是否要安装

如果只需要训练,简单推理,则无需单独安装CUDA,直接安装pytorch;如果有部署需求,例如导出TensorRT模型,则需要进行CUDA安装。

两种方式查看CUDA的版本,二选一查看即可,安装的pytorch版本低于CUDA版本即可。

NVIDIA控制面板

桌面右键查看NVIDIA控制面板,点击之后界面左下角点击系统信息

之后点击组件

7英伟达显卡的版本.png

命令行
nvidia-smi

8命令行显示CUDA版本.png

如果显示不是内部或外部命令也不是可运行的程序,请检查是否安装驱动或者配置环境变量

参考文档 【Windows】输入nvidia-smi显示不是内部或外部命令也不是可运行的程序解决办法_nvidia' 不是内部或外部命令,也不是可运行的程序-CSDN博客

pytorch安装注意事项

需要注意两种类型的显卡,16xx的显卡,安装cu102的版本,否则可能训练出现问题;30xx、40xx显卡要安装cu111以上的版本,否则无法运行。

pytorch安装

打开官网寻找合适版本

9安装pytorch.png ctrl+f搜索cu110找这个版本之前的版本下载,复制命令到终端,回车安装。

pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

(这个指令是针对我的电脑,你的电脑请自行查阅)

到这里pytorch就安装完成了。

YOLOv8安装

下载源码解压使用(不推荐,无法使用命令行工具)

官方地址就是github的ultralytics仓库,下载zip解压,vscode打开,理论上把代码写根目录下就可以跑代码了,YOLOv8没有提供像YOLOv5一样明确的训练检测代码,只能从头写起,但是YOLOv8提供命令行的方式执行脚本,但是写的脚本不能通过命令行执行。

pip直接安装(官方推荐,但是不方便修改源码)

在conda命令行执行pip install ultralytics安装完成后可以看YOLOv8文档查看cli的usage,执行yolo predict model=yolov8n.pt source=ultralytics/assets/bus.jpg 对图片进行预测.,之后会自动下载模型进行预测。

在conda命令行执行命令,注意要在源码的目录下执行。

不推荐这种方式是因为不好修改源码

pip源码安装(最佳实践)

pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
cd ultralytics
pip install -e .

-e参数必须要有,否则后续修改代码无效

使用最佳实践安装提示版本不兼容警告,截图如下 10pytorch与yolov8版本不符合(显卡配置受限制).png

之后重新卸载pytorch全家桶重新安装与cu110完全匹配的版本

pip install torch==1.7.0+cu110 torchvision==0.8.0+cu110 torchaudio==0.7.0 -f https://download.pytorch.org/whl/torch_stable.html

提示yolov8需要torch>=1.8,TORCHVISION>=0.9.0;查阅pytorch文档找到一个更合适的,安装

pip install torch==1.8.1+cu102 torchvision==0.9.1+cu102 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

安装成功的截图

11pytorch安装成功.png

正确使用windows终端

windows的终端

cmd(命令提示符) anaconda prompt() powershell(无法激活环境)

模型预测

模型预测的基本使用

yolo task=detect  mode=predict model=yolov8n.pt source="./ultralytics/assets/bus.jpg"

参数解释

  1. yolo:启动
  2. task:指定任务
  3. mode:训练,预测还是验证 4.model:
  4. source:检测的对象

在YOLOv8中可以使用三行代码进行模型预测

from ultralytics import YOLO
yolo =YOLO("./yolov8n.pt",task="detect")
result=yolo(source="./ultralytics/assets/bus.jpg")

source=screen是检测屏幕;source=0是摄像头检测。

训练模型

配置python interpreter

image.png

配置data.yaml文件

# data.yaml
train: ./datasets/images/train  # 训练集路径
val: ./datasets/images/val      # 验证集路径

# 类别数量及名称
nc: 1                          # 类别数(根据实际修改)
names: ['cat'] # 类别名称(按顺序对应 class_id)

YOLOv8训练自定义数据集

启动虚拟环境

 conda activate yolov8

更多步骤请看YOLOv8训练猫脸检测模型(自定义数据集)本文主要讲述了YOLOv8训练猫脸检测模型的详细过程。详细讲解了训练过程的关 - 掘金