您的位置:首页 > 教育 > 培训 > yolo8训练自己的模型

yolo8训练自己的模型

2025/4/16 9:09:41 来源:https://blog.csdn.net/weixin_41037490/article/details/142211724  浏览:    关键词:yolo8训练自己的模型

1.数据源准备

1.1 准备图片资源

1.2 对图片资源标注,生成   对应的 .txt 文件,里面的数字表示  物体被标注的  x或y 等坐标点信息

1.2.1 标注工具下载以及使用教程参考 

Windows 10下安装labelImg标注工具!_labelimg windows exe 1.5版本-CSDN博客

1.2.3  标注工具  使用教程参考

如何使用labelImg标注数据集,最详细的深度学习标签教程_labelimg使用教程-CSDN博客

2.标注  yolo  的文件

key.txt

0 0.460907 0.492033 0.848319 0.605170
0 0.451525 0.485305 0.807662 0.578966
0 0.462080 0.493980 0.800625 0.588527
0 0.453870 0.488314 0.834246 0.593484

3.标签配置文件

train: D:/pyourch-workspace/yoloy8-project/datasets/coco8/images/train
val: D:/pyourch-workspace/yoloy8-project/datasets/coco8/images/valnc: 5
names: ['cigarette_case',  'key', 'pen', 'smoky', 'watch']
#        烟盒              钥匙     笔      香烟      手表

3.模型训练   主要代码  

from ultralytics import YOLO##TODO yolov8 模型训练# Load a COCO-pretrained YOLOv8n model
## 加载预训练模型
#第三种:根据yaml文件构建一个新模型,然后将预训练模型的参数转移到新模型中,然后进行训练,对YOLO8网络进行改进的适合选用此种训练方式,而且训练时间不至于过长
model = YOLO("yolov8n.yaml").load('yolov8n.pt')  # build from YAML and transfer weights# Train the model on the COCO8 example dataset for 100 epochs
#epochs指定训练多少轮
#imgsz指定图片大小
#results = model.train(data="D:/pyourch-workspace/yoloy8-project/datasets/coco8/data.yaml", epochs=100, imgsz=640)
results = model.train(data="D:/pyourch-workspace/yoloy8-project/datasets/coco8/data.yaml",imgsz=640, epochs=100)

4. 训练结果集

5.使用自己训练的模型进行推理

from ultralytics import YOLO
import cv2
model = YOLO("D:/pyourch-workspace/yoloy8-project/runs/detect/train17/weights/best.pt")results  = model(['D:/pyourch-workspace/yoloy8-project/image/100.jpg'])###使用自己训练的模型  对   图片进行推理
#model.predict('D:/pyourch-workspace/yoloy8-project/image/group.jpg', save=True, imgsz=640, conf=0.5)# Process results list
for result in results:boxes = result.boxes  # Boxes object for bounding box outputsmasks = result.masks  # Masks object for segmentation masks outputskeypoints = result.keypoints  # Keypoints object for pose outputsprobs = result.probs  # Probs object for classification outputsobb = result.obb  # Oriented boxes object for OBB outputsresult.show()  # display to screenresult.save(filename="result-2024-09-14-12-02.jpg")  # save to disk

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com