[YOLOv8](ultralytics/README.zh-CN.md at main · ultralytics/ultralytics (github.com))是Ultralytics公司开发的YOLO目标检测和图像分割模型的最新版本,相较于之前的版本,YOLOv8可以更快速有效地识别和定位图像中的物体,以及更准确地分类它们。
强烈建议使用GPU训练啊!!!Nvidia显卡可用,ATI等其它显卡直接跳过划走!!!
我的环境如下:
其他依赖库按照requirements.txt文件安装即可。
首先需要安装ultralytics,目前YOLOv8核心代码都封装在这个依赖包里面:
pip install ultralytics
运行D:\你的虚拟安装环境Venv\Lib\site-packages\ultralytics\yolo\v8\detect\predict.py
查看结果是CPU推理还是GPU推理
如若此处是CPU,请按照我之前的文章【Windows11】Cuda和Cudnn详细安装教程_Jin
Nvidia显卡可用,ATI等其它显卡直接跳过划走!!!
安装好之后,根据自己cuda支持的版本安装PyTorch,选择+cu的命令
我的安装命令如下:
pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
为了不让这个过程那么痛苦和耗时,我们可以用上Roboflow这个工具(不过需要科学上网)
登录Roboflow网站从创建账户开始
因为我已经成功进行过数据标注并且导出,因此这里给大家找了两篇Roboflow的使用教程,请食用:
选择YOLOv8导出的数据集如下:
在“pycharm”打开自创数据集中的“data.yaml”,修改文件中的路径。在这里,因为相对路径出了很多问题也很多报错,我就直接改成了绝对路径,尤其注意不要出现中文路径(别问,问就是错过)
修改保存后,在yolo环境下终端中输入
yolo task=detect mode=train model=yolov8n.pt data=flyerdata/data.yaml epochs=100 imgsz=640 workers=4 batch=4
同时将“data=”后缀修改为自己数据集的路径,回车开始训练。训练完成之后,结果会保存在最后一行指示的路径中。
以上参数解释如下:
task:选择任务类型,可选[‘detect’, ‘segment’, ‘classify’, ‘init’]
mode: 选择是训练、验证还是预测的任务蕾西 可选[‘train’, ‘val’, ‘predict’]
model: 选择yolov8不同的模型配置文件,可选yolov8s.yaml、yolov8m.yaml、yolov8l.yaml、yolov8x.yaml
data: 选择生成的数据集配置文件
epochs:指的就是训练过程中整个数据集将被迭代多少次,显卡不行你就调小点。
batch:一次看完多少张图片才进行权重更新,梯度下降的mini-batch,显卡不行你就调小点。
训练过程如下:
训练完成后,会得到一个自己的模型,最好的模型权重和最后的模型权重
根据自己数据集路径来修改以下验证的data路径
yolo task=detect mode=val model=runs/detect/train5/weights/best.pt data=flyerdata/data.yaml
接下来根据数据集训练结果模型的位置来修改以下代码,“source”是指新图片文件夹的位置,由于我们已经将文件夹放在了仓库主路径中,故可直接修改为”source=images”,然后开始预测。
yolo detect mode=predict model=runs/detect/train33/weights/best.pt source=images
图片保存在…/runs/detect/predict 文件夹中
由于数据敏感,就暂不贴图啦。