代碼地址:THU-MIG/yolov10: YOLOv10: Real-Time End-to-End Object Detection (github.com)
一、數據制作
在這篇文章有講過如何制作數據集及代碼實現
YOLOV9訓練集制作+Train+Val記錄_yolov9 train yaml-CSDN博客
二、配置文件
(1)代碼結構,主要看下面這兩個就好了
(2)創建自己數據集的yaml配置文件
(3)預訓練權重下載,網盤的是pt模型。(官方的預訓練權重現在放到了huggingface, 格式好像不太跟之前的不太一樣,我個人不知道怎么使用,有會的可以指導一下)
網盤鏈接:鏈接:https://pan.baidu.com/s/17AyMlMTLW7iJaRKDf2VG1w?pwd=1234?
提取碼:1234?
(4)網盤里面有一個yolov8n.pt文件,把它放到yolov10目錄下
三、訓練代碼
路徑修改成自己對應的路徑
from ultralytics import YOLOv10
import torchif __name__ == '__main__':model_yaml_path = "ultralytics/cfg/models/v10/yolov10s.yaml"data_yaml_path = "ultralytics/cfg/datasets/my_data.yaml"pretrain_model_path = "weights/yolov10s.pt"device = "cuda" if torch.cuda.is_available() else "cpu"model = YOLOv10(model_yaml_path).load(pretrain_model_path)# print(model)model.train(data=data_yaml_path, epochs=800, batch=10, imgsz=640)
四、預測代碼
import osfrom ultralytics import YOLOv10model_path = "runs/detect/train2/weights/best.pt" # 自己訓練完之后的模型路徑,默認保存在run文件夾下
img_folder = 圖片路徑
model = YOLOv10(model_path)
for img_name in os.listdir(img_folder):if not img_name.endswith(".jpg"):continueimg_path = os.path.join(img_folder, img_name)results = model.predict(img_path)# 顯示檢測結果results[0].show()
有用就點贊收藏 :)