? ? ? ? ? ? ? ? ? ? ? ? ?yolov10對于大目標的效果好,小目標不好
一、如果你訓練過yolov5,yolov8,的話那么你可以直接用之前的環境就行
目錄
一、如果你訓練過yolov5,yolov8,的話那么你可以直接用之前的環境就行
二、配置好后就可以配置文件了
三、然后開始訓練
推理圖片
轉化onnx模型
具體你可以看我另一篇的文章,yolov5-7.0實現訓練推理以及C#部署onnx-CSDN博客
我這是配置的cuda? 調用GPU的版本,下載可以再我的博文里下載?
cuda各個版本的Pytorch下載網頁版,模型轉化工具,免費gpt鏈接_cuda國內鏡像下載網站-CSDN博客
安裝的教程可以直接再網上搜索既可以了
二、配置好后就可以配置文件了
下載源碼?GitHub - THU-MIG/yolov10: YOLOv10: Real-Time End-to-End Object Detection
建議你手動下載預訓練模型,和在命令行中運行訓練,因為你用右鍵run有可能直接下載 v8的預訓練模型。
下載預訓練模型?Https://github.com/jameslahm/yolov10/releases/download/v1.0/yolov10s.pt
最小模型是N? 最大模型是X? 區別就是,越小的就越快,精度相對的會低一點點,越大的就越慢,精度會高一點,建議用S和M的比較中和,設備不行的就用N
? ?用labelimg標注后這種放,和yolov5一樣,coco數據集
然后再目錄中創建一個data文件夾,再其中創建一個data.yaml的文件
然后配置數據集讀取路徑
三、然后開始訓練
你可以在目錄中創建三個文件,detect.py,export.py,train.py文件像這樣
填入代碼
train.py
from ultralytics import YOLOv10model_yaml_path = "ultralytics/cfg/models/v10/yolov10s.yaml"
#數據集配置文件
data_yaml_path = 'data/data.yaml'
#預訓練模型
pre_model_name = 'yolov10s.pt'if __name__ == '__main__':#加載預訓練模型model = YOLOv10(model_yaml_path).load(pre_model_name)#訓練模型results = model.train(data=data_yaml_path,epochs=150,batch=4,name='train/exp')
打開v10算法代碼文件夾的根目錄? 在路徑中寫cmd回車?
進入這里,查看你的環境
用代碼
conda activate 你的環境名
然后就進入了
直接運行? ?--cache 是用你的磁盤跑,如果電腦不牛逼? 加上這個 可以提升速度
python train.py --cache
然后就可以運行了
四、推理圖片
打開剛剛創建的detect.py文件 添加代碼 就可以推理了
from ultralytics import YOLOv10import torch
if torch.cuda.is_available():device = torch.device("cuda")
else:raise Exception("CUDA is not")model_path = r"H:\\DL\\yolov10-main\\runs\\detect\\train\\exp\\weights\\best.pt"
model = YOLOv10(model_path)
results = model(source=r'H:\DL\yolov10-main\dataDakeset\CCD_dataBlue25\test',name='predict/exp',conf=0.45,save=True,device='0')
五、轉化onnx模型
打開剛剛創建的export.py 文件 添加代碼,轉哪中模型直接替換onnx就行
from ultralytics import YOLOv10
model=YOLOv10("H:\\DL\\yolov10-main\\runs\\detect\\train\\exp\\weights\\best.pt")model.export(format='onnx')
# help='torchscript, onnx, openvino, engine, coreml, saved_model, pb, tflite, edgetpu, tfjs, paddle'
自此yolov10python的訓練推理轉化流程全部結束,有問題可以評論區問或者私信