当前位置:   article > 正文

YOLOv5训练和推理_yolov5推理

yolov5推理

YOLOv5训练和推理


前言

在这里插入图片描述

前面记录了YOLOX的使用,本节继续探讨YOLO系类之YOLOv5。


一、搭建YOLOv5环境

1.官网下载YOLOv5稳定版本

[Github官网YOLOv5的zip包](https://github.com/ultralytics/yolov5/tree/v6.2)
zip包解压后进入当前目录
  • 1
  • 2

2.创建conda虚拟环境

conda create -n yolov5 python=3.8
conda activate yolov5
  • 1
  • 2

3.pytorch环境安装

为自己的显卡选择合适的pytorch版本

conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.3 -c pytorch
pip show torch
  • 1
  • 2

在这里插入图片描述

4.YOLOv5环境安装

pip install -r requirements.txt
  • 1

二、使用步骤

1.推理测试

从官网下载一个模型比如最小模型yolov5s.pt

python detect.py --weights yolov5s.pt --source data/images/zidane.jpg
  • 1

结果保存在runs/detect/exp
在这里插入图片描述
使用自己的模型推理

python detect.py --weights runs/train/exp11/weights/best.pt --source datasets/pig_coco/images/val2017/0020.jpg --data data/pig_coco.yaml

  • 1
  • 2

2.onnx模型测试

安装onnx环境

pip install -r requirements.txt onnx onnx-simplifier onnxruntime-gpu
  • 1

yolov5.pt导出为yolov5.onnx

python export.py --weights yolov5s.pt --include onnx
  • 1

自己训练的模型导出

python export.py --weights runs/train/exp16/weights/best.pt --include torchscript onnx --data data/pig_coco.yaml
  • 1

onnx推理测试

python detect.py --weights yolov5s.onnx --source data/images/zidane.jpg
  • 1

三、标注训练自己的模型

1.标注数据

推荐使用labelImg标注yolo数据集格式
在这里插入图片描述

2.推理测试

使用默认的coco128数据训练

python train.py --img 640 --batch-size 16 --epochs 10 --data data/coco128.yaml --weights yolov5s.pt --device '0'
  • 1

使用自己的数据训练,根据coco128.yaml编辑自己的yaml(仿造coco128制作自己的数据集)
在这里插入图片描述

训练自己的三个类别模型

python train.py --img 640 --batch-size 32 --epochs 100 --data data/pig_coco.yaml --weights yolov5s.pt --device '0'
  • 1

推理

python detect.py --weights runs/train/exp11/weights/best.pt --source datasets/pig_coco/images/val2017/0020.jpg --data data/pig_coco.yaml
  • 1

在这里插入图片描述

四、遇到的问题

1.问题1

现象:AttributeError: module ‘numpy‘ has no attribute ‘int‘.
原因:numpy版本不匹配,降低版本会影响其他库,只能修改源码
比如:utils/dataloaders.py里面的np.int改为np.int_

2.问题2

现象:coco格式转yolo格式数据集出现“TypeError: must be real number, not NoneType”
原因:背景类没有标签。修改代码跳过这个背景标签,再出错行上面
修改:

在这里插入图片描述

使用早期标注的coco数据集格式转yolo时出现,后面使用labelImg直接标注YOLO格式数据集就可以了。

3.问题3

现象:AttributeError: ‘FreeTypeFont’ object has no attribute ‘getsize’
原因:高版本因pip install tf-models-official删除了该getsize 功能
解决:

pip install Pillow==9.5
  • 1

4.问题4

现象:handleNode DNN/ONNX: ERROR during processing node with 1 inputs and 1 outputs: [Identity]:(onnx::Reshape_475)
原因:torch1.12.x以上的版本要改成False,导出onnx的时候就可以正常使用了
解决:

在这里插入图片描述


总结

本文仅作为在YOLOv5学习过程中的笔记记录,有问题欢迎交流~~~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/573631
推荐阅读
相关标签
  

闽ICP备14008679号