当前位置: 首页 > news >正文

用自己的数据集复现YOLOv5

yolov5已经出了很多版本了,这里我以目前最新的版本为例,先在官网下载源码:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

然后下载预训练模型,需要哪个就点击哪个模型就行,在yolov5-master目录下建一个文件夹存放预训练模型

1、准备数据集

1.用labelimg标注要训练的图片,标注的格式是yolo格式,labels的后缀是txt,然后分好训练集和验证集

2.改好模型配置文件和数据加载配置文件,分别在E:\project\MODEL\YOLO\yolov5-master\modelsyolov5s.yaml和E:\project\MODEL\YOLO\yolov5-master\data\coco128.yaml

2、创建虚拟环境

conda create -n yolov5-master python=3.9

然后激活进入该虚拟环境:conda activate yolov5-master,pycharm就直接在设置里把该虚拟环境加进来就行

接着安装该项目所需的包,可看requirements.txt

pip install numpy;pip install tqdm; pip install opencv-python; pip install pandas;

然后安装torch:结合自己显卡的版本选择合适的torch版本

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

3、训练

改E:\project\MODEL\YOLO\yolov5-master\train.py路径下的箭头指出的内容,这里是用预训练模型,没用到模型配置文件,如果数据集很多,重新训练的话可以使用模型配置文件yolov5s.yaml

也可用指令训练:python train.py --weights yu/yolov5s.pt --data data/coco128.yaml --epochs 300 --batch-size 16 

python train.py --weights yu/yolov5s.pt --data data/coco128.yaml --epochs 300 --batch-size 16 

4、测试

改E:\project\MODEL\YOLO\yolov5-master\detect.py里面的save_txt和save_crop,然后改一些模型路径和测试的图片,显卡等就可以测试了

parser.add_argument("--save-txt", default="true", help="save results to *.txt")
parser.add_argument("--save-crop", default="true", help="save cropped prediction boxes")

这两行改好就可以在测试结果里看到txt文件保存下来和小图

也可用指令测试:python detect.py --weights runstrain/exp/best.pt --source datasets/1first_0927/val/images --data data/coco128.yaml 

python detect.py --weights runs/train/exp/weights/best.pt --source datasets/1first_0927/val/images --data data/coco128.yaml 

5、导出

改E:\project\MODEL\YOLO\yolov5-master\export.py路径下的箭头指出的内容,如果要导出的是tensorrt格式的就把--include default=["torchscript"],改成--include default=["engine"]

也可用指令导出:python export.py --weights runs/train/exp/weights/best.pt --data data/coco128.yaml --include engine

python export.py --weights runs/train/exp/weights/best.pt --data data/coco128.yaml --include engine --device 0

6、测试导出的tensorrt模型,就像测试best.pt一样

改E:\project\MODEL\YOLO\yolov5-master\detect.py路径下的箭头指出的内容

也可用指令测试:python detect.py --weights runstrain/exp/best.engine --source datasets/1first_0927/val/images --data data/coco128.yaml 

python detect.py --weights runstrain/exp/best.engine --source datasets/1first_0927/val/images --data data/coco128.yaml

http://www.lryc.cn/news/463997.html

相关文章:

  • 如何在博客中插入其他的博客链接(超简单)最新版
  • JS通过递归函数来剔除树结构特定节点
  • javayufa
  • 软考-高级系统分析师知识点-补充篇
  • JavaScript全面指南(四)
  • 2024年诺贝尔物理学奖的创新之举
  • FileLink内外网文件交换——致力企业高效安全文件共享
  • 使用Python在Jupyter Notebook中显示Markdown文本
  • G1 GAN生成MNIST手写数字图像
  • WPFDeveloper正式版发布
  • 实现鼠标经过某个元素时弹出提示框(通常称为“工具提示”或“悬浮提示”)
  • 【GAMES101笔记速查——Lecture 17 Materials and Appearances】
  • 对于从vscode ssh到virtualBox的timeout记录
  • 鸿蒙原生应用扬帆起航
  • 《计算机视觉》—— 表情识别
  • NVIDIA Aerial Omniverse
  • QT程序报错解决方案:Cannot queue arguments of type ‘QTextCharFormat‘ 或 ‘QTextCursor‘
  • MySQL知识点_03
  • leetcode:744. 寻找比目标字母大的最小字母(python3解法)
  • 2015年-2016年 软件工程程序设计题(算法题)实战_c语言程序设计数据结构程序设计分析
  • 整理一下实际开发和工作中Git工具的使用 (持续更新中)
  • Axios 的基本使用与 Fetch 的比较、在 Vue 项目中使用 Axios 的最佳实践
  • Dockerfile样例
  • MYSQL-多表查询
  • MySQL改密码后不生效问题
  • 15分钟学Go 第1天:Go语言简介与特点
  • UDP/TCP协议
  • gitee建立/取消关联仓库
  • 在 Windows 环境下,Git 默认会自动处理 CRLF 和 LF 之间的转换。
  • Kibana可视化Dashboard如何基于字段是否包含某关键词进行过滤