【YOLOV8训练检测模型(window+anaconda环境安装+部署)】

YOLOV8训练检测模型(window+anaconda环境安装+部署)

  • 简述
  • 1.创建conda虚拟环境
    • 创建自定义命名的conda环境
    • 激活环境&删除环境
  • 2. 配置pytorch环境(GPU环境)
    • 查看显卡驱动版本
    • 安装pytorch
  • 3.Ultralytics库配置
  • 4. 模型训练
    • 预训练模型权重
    • 数据集描述文件(以检测模型为例)
    • 开始训练

简述

YOLOv8是Ultralytics开发的一种sota模型(哔哩吧啦省略一堆字)
本文主要简述YOLOv8 pytorch环境部署以及其如何使用命令行进行便捷训练的方法(以目标检测为例,后续有空再补充一下)

https://github.com/ultralytics/ultralytics # yolov8 github源码

1.创建conda虚拟环境

该步骤省略了anaconda的下载与安装,具体可以去查询其他博客大佬的文章

创建自定义命名的conda环境

win+r打开终端命令窗口,然后输入以下命令行创建环境
your-env-name: 自定义的环境名称
python=x.x: 使用的python版本

conda create -n your-env-name python=x.x

创建完成后,查看anaconda环境列表,刚才创建的环境是否在列表中

conda env list

激活环境&删除环境

创建环境后就可以进行激活环境,在虚拟环境中进行配置;当然创建错了也可以删除后进行重新创建

activate your-env-name #激活环境
remove -n your-env-name -all # 删除环境

2. 配置pytorch环境(GPU环境)

YOLOv8源码页面介绍有阐述,使用pip install ultralytics即可使用,但是本人在直接进行安装时,配置pytorch库出现超时问题,且pytorch库未必会适合你当前的使用环境。
该章节主要解决pytorch的配置问题,不使用指令进行下载pytorch。

查看显卡驱动版本

在cmd终端命令窗口中输入以下指令,查看左上角CUDA Version的打印信息,我这里是11.1版本

nvidia-smi

【YOLOV8训练检测模型(window+anaconda环境安装+部署)】_第1张图片
如果未安装CUDA驱动的,可以根据Driver Version信息去NVIDA官网安装驱动
【YOLOV8训练检测模型(window+anaconda环境安装+部署)】_第2张图片

安装pytorch

在pytorch版本查询页面,查看与自己的NVIDA Version相匹配的安装指令,从中查看匹配的pytorchtorchvision的版本号

如下图所示可以看到Linux and Window环境下CUDA 11.1,所对应的pytorch版本是1.9.1,torchvision版本是0.10.1
【YOLOV8训练检测模型(window+anaconda环境安装+部署)】_第3张图片

进入pytorch官网安装页面
找到对应的pytorch和torchvision的安装包(cp代表python版本,如果其中一个文件找不到对应版本,则重复上一步骤查询可匹配的其他版本)
在这里插入图片描述在这里插入图片描述

下载完后把压缩包放到喜欢的路径下
在cmd终端命令窗口上,激活配置环境,并使用pip install进行配置

pip install torch-1.9.1+cu111-cp38-cp38-win_amd64.whl
pip install torchvision-0.10.1+cu111-cp38-cp38-win_amd64.whl

3.Ultralytics库配置

按照源码介绍,输入命令进行安装

pip install ultralytics

至此,环境配置已经完成了,剩下看环境运行缺什么就安装什么就好了,当然,作者在源码中也添加了配置清单,下载源码进行解压后,使用cd指令进入源码路径,使用以下命令进行配置

pip install -r requirements.txt

4. 模型训练

准备工作:数据集准备 + 数据集yaml描述文件 + v8模型yaml描述文件 + 预训练权重,除数据集外其余文件都放在同一文件夹中(方便处理,如果不适合在下面操作中补充文件绝对路径即可)

预训练模型权重

网络好的可以直接略过这里,后续步骤使用命令行操作时候,会自动下载权重,后续我想办法放一下权重文件(第一次写博客,有空再整一整)
如果下载好了yolov8n.pt模型,可以在终端窗口中进行以下步骤测试一下,成功后会在当前路径生成一个结果文件夹

activate your-env-name #激活环境
cd xxx #进入权重文件所在路径
yolo predict

数据集描述文件(以检测模型为例)

创建一个yaml文件(不会则创建txt文件后更改后缀成yaml),按以下内容填写
(当然,不用划分数据集也可以,调整路径即可,path不变,train和val指向同一文件夹,test可以空着)

# data path
path: 数据集路径(底下放置train、val、test等数据文件夹)
train:  train/images(path下训练数据集图片所在路径)
val: val/images(path下验证数据集图片所在路径)
test: test/images(path下测试数据集图片所在路径)

# classes num 类别数
nc: xx

#classes name
name:
 0: 'xxx'
 1: 'xxx'
 ...

开始训练

在训练之前可以查看一下yolo的配置参数有哪些,使用以下命令进行查看

yolo cfg

在终端中,可以使用以下命令进行训练:
任务:taskdetect、segment、pos
模式: modetrain、val、predict
模型: modelyolov8n.yaml、yolov8m.yaml、yolov8l.yaml、yolov8x.yaml 文件夹下只要有yolov8.yaml即可
输入大小: imgsz640、320、160
驱动:device0 、cpu

yolo task=detect mode=train model=yolov8x.yaml data=数据集.yaml batch=xx epochs=xx imgsz=xx device=xx

你可能感兴趣的:(python,conda)