用自己的数据集复现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 复制代码
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 复制代码
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 复制代码
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 复制代码
python detect.py --weights runstrain/exp/best.engine --source datasets/1first_0927/val/images --data data/coco128.yaml
相关推荐
王哈哈^_^8 小时前
【数据集】【YOLO】目标检测游泳数据集 4481 张,溺水数据集,YOLO河道、海滩游泳识别算法实战训练教程。
人工智能·算法·yolo·目标检测·计算机视觉·分类·视觉检测
初学小刘11 小时前
项目(四)
yolo
羊羊小栈1 天前
基于YOLO+多模态大模型+人脸识别+视频检索的智慧公安综合研判平台(vue+flask+AI算法)
vue.js·人工智能·yolo·flask·毕业设计·音视频·大作业
珺毅同学1 天前
YOLO输出COCO指标及YOLOv12报错
python·深度学习·yolo
FL16238631291 天前
智慧交通红绿灯检测数据集VOC+YOLO格式1215张3类别
深度学习·yolo·机器学习
Wah-Aug2 天前
YOLOv5口罩检测
yolo
深度学习lover2 天前
<项目代码>yolo织物缺陷识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·织物缺陷识别·项目代码
、、、、南山小雨、、、、2 天前
加载YOLO模型,处理mp4视频
python·yolo·音视频
令狐掌门2 天前
PySide6集成yolo v8实现图片人物检测、视频人物检测以及摄像头人物检测
yolo·pyside6 yolo
Ponp_2 天前
Ubuntu 22.04 + ROS 2 Humble实现YOLOV5目标检测实时流传输(Jetson NX与远程PC通信)
linux·运维·yolo