使用YOLOv8的原因是因为YOLOv8模型检测精度更高且拓展性更好(支持分割/姿态估计等新任务)
环境安装
安装miniconda
miniconda是anaconda的轻量版,仅包括 conda、Python、它们两者所依赖的包以及少量其他有用的包(官网说的,我简单粘贴一下)。
安装的时候注意安装目录中不要有中文,勾选将其添加到PATH
conda环境创建
因为在当前环境安装不同的库,后期可能会过于臃肿。不同的项目可能使用的库的版本也不一样。为了彼此之间不互相干扰,使用虚拟环境。
可以按下windows键,之后在搜索框输入conda就可以看到Anaconda Prompt,进入之后显示默认路径。
配置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版本太高容易和其他库产生版本不兼容问题。
激活3.8虚拟环境
conda activate yolov8
如图所示激活成功
安装pytorch
在一个单独的环境中,能使用pip就尽量使用pip,实在有问题的情况,例如没有合适编译好的系统版本的安装包,再使用conda进行安装,不要来回混淆。
CUDA是否要安装
如果只需要训练,简单推理,则无需单独安装CUDA,直接安装pytorch;如果有部署需求,例如导出TensorRT模型,则需要进行CUDA安装。
两种方式查看CUDA的版本,二选一查看即可,安装的pytorch版本低于CUDA版本即可。
NVIDIA控制面板
桌面右键查看NVIDIA控制面板,点击之后界面左下角点击系统信息
之后点击组件
命令行
nvidia-smi
如果显示不是内部或外部命令也不是可运行的程序,请检查是否安装驱动或者配置环境变量
参考文档 【Windows】输入nvidia-smi显示不是内部或外部命令也不是可运行的程序解决办法_nvidia' 不是内部或外部命令,也不是可运行的程序-CSDN博客
pytorch安装注意事项
需要注意两种类型的显卡,16xx的显卡,安装cu102的版本,否则可能训练出现问题;30xx、40xx显卡要安装cu111以上的版本,否则无法运行。
pytorch安装
打开官网寻找合适版本
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参数必须要有,否则后续修改代码无效
使用最佳实践安装提示版本不兼容警告,截图如下
之后重新卸载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
安装成功的截图
正确使用windows终端
windows的终端
cmd(命令提示符) anaconda prompt() powershell(无法激活环境)
模型预测
模型预测的基本使用
yolo task=detect mode=predict model=yolov8n.pt source="./ultralytics/assets/bus.jpg"
参数解释
- yolo:启动
- task:指定任务
- mode:训练,预测还是验证 4.model:
- 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
配置data.yaml文件
# data.yaml
train: ./datasets/images/train # 训练集路径
val: ./datasets/images/val # 验证集路径
# 类别数量及名称
nc: 1 # 类别数(根据实际修改)
names: ['cat'] # 类别名称(按顺序对应 class_id)
YOLOv8训练自定义数据集
启动虚拟环境
conda activate yolov8
更多步骤请看YOLOv8训练猫脸检测模型(自定义数据集)本文主要讲述了YOLOv8训练猫脸检测模型的详细过程。详细讲解了训练过程的关 - 掘金