Yolov10训练,转化onnx,推理

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

python 复制代码
from ultralytics import YOLOv10

model_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回车

进入这里,查看你的环境

用代码

python 复制代码
conda activate 你的环境名

然后就进入了

直接运行 --cache 是用你的磁盘跑,如果电脑不牛逼 加上这个 可以提升速度

python 复制代码
python train.py --cache

然后就可以运行了

四、推理图片

打开刚刚创建的detect.py文件 添加代码 就可以推理了

python 复制代码
from ultralytics import YOLOv10

import 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就行

python 复制代码
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的训练推理转化流程全部结束,有问题可以评论区问或者私信

相关推荐
天天爱吃肉821827 分钟前
【比亚迪璇玑架构深度解析:重新定义智能电动汽车的“整车智能”】
数据库·人工智能·嵌入式硬件·架构·汽车
semantist@语校1 小时前
第十九篇|东京世界日本语学校的结构数据建模:制度函数、能力矩阵与升学图谱
数据库·人工智能·线性代数·矩阵·prompt·github·数据集
guygg881 小时前
HOG + SVM 行人检测
人工智能·机器学习·支持向量机
和鲸社区1 小时前
四大经典案例,入门AI算法应用,含分类、回归与特征工程|2025人工智能实训季初阶赛
人工智能·python·深度学习·算法·机器学习·分类·回归
IT古董2 小时前
【第五章:计算机视觉】1.计算机视觉基础-(3)卷积神经网络核心层与架构分析:卷积层、池化层、归一化层、激活层
人工智能·计算机视觉·cnn
黎燃2 小时前
AI生成音乐的创作逻辑深析:以AIVA为例
人工智能
点云SLAM2 小时前
四元数 (Quaternion)在位姿(SE(3))表示下的各类导数(雅可比)知识(2)
人工智能·线性代数·算法·机器学习·slam·四元数·李群李代数
七芒星20232 小时前
ResNet(详细易懂解释):残差网络的革命性突破
人工智能·pytorch·深度学习·神经网络·学习·cnn
TMO Group 探谋网络科技2 小时前
Salesforce vs Magento 选型指南:成本、功能差异对比清单
人工智能·magento·电商开发
Ginkgo_Lo3 小时前
【LLM越狱】AI大模型DRA攻击解读与复现
人工智能·安全·ai·语言模型