Yolov10训练,转化onnx,推理

news2024/12/25 9:54:31

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

进入这里,查看你的环境

用代码

conda activate 你的环境名

然后就进入了

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

python train.py --cache

然后就可以运行了

四、推理图片

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


from ultralytics import YOLOv10
import argparse
import glob
import matplotlib.pyplot as plt
import matplotlib.image as mpimg

model_path = r"H:\\DL\\yolov10-main\\runs\\detect\\train\\exp\\weights\\best.pt"
model = YOLOv10(model_path,names='exp')
results = model(source=r'H:\DL\yolov10-main\dataDakeset\CCD_dataBlue25\test',

                conf=0.45,
                save=True)

五、转化onnx模型

打开刚刚创建的export.py 文件 添加代码

from ultralytics import YOLOv10
model=YOLOv10("H:\\DL\\yolov10-main\\runs\\detect\\train\\exp\\weights\\best.pt")

model.export(format='onnx')

自此yolov10python的训练推理转化流程全部结束,有问题可以评论区问或者私信

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1889925.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Leetcode 136][Easy]-只出现一次的数字

目录 题目描述 具体思路 题目描述 原题链接 具体思路 ①首先看到数组中重复的数字,想到快慢指针,但是数组的元素是乱序的不好求。因此先对数组排序。使用了STL库的sort函数,时间复杂度O(nlogn)不符合题目要求,空间复杂度O(1)。…

华为云简介

前言 华为云是华为的云服务品牌,将华为30多年在ICT领域的技术积累和产品解决方案开放给客户,致力于提供稳定可靠、安全可信、可持续创新的云服务,赋能应用、使能数据、做智能世界的“黑土地”,推进实现“用得起、用得好、用得放心…

开源模型应用落地-FastAPI-助力模型交互-WebSocket篇(一)

一、前言 使用 FastAPI 可以帮助我们更简单高效地部署 AI 交互业务。FastAPI 提供了快速构建 API 的能力,开发者可以轻松地定义模型需要的输入和输出格式,并编写好相应的业务逻辑。 FastAPI 的异步高性能架构,可以有效支持大量并发的预测请求,为用户提供流畅的交互体验。此外,F…

C4D崩溃,出现错误的文件构造如何恢复?

C4D这款业界领先的3D建模、动画、模拟和渲染软件时,用户可能会遇到各种挑战,其中软件崩溃和错误提示往往是最令人头疼的问题之一。特别是当C4D崩溃后出现“错误的文件构造”这样的提示,不仅会中断创作流程,还可能意味着辛苦工作的…

Dubbo用法示例

1.version版本控制 比如我们现在有两个服务提供者,他们分别对这个接口的实现方式不一样,那么消费者通过代理对象到底调用哪个实现呢,这就可以通过version版本控制来实现,Reference注解的version和Service注解的version需要配对&am…

Redis分布式锁的应用场景有哪些

⼀ 、应⽤场景 在多线程并发的场景下 ,Java Synchronized/Reentrantlock 锁能够实现同⼀个JVM进程内多线程 并发的安全性 ,但⽆法保证多个JVM进程实例构成的集群环境在多线程下的安全性。在⼀些业务场景 下需要引⼊分布式锁。 1、缓存击穿 当某个热点缓…

图增强LLM + 个性化健康

图增强LLM 个性化健康 提出背景图增强LLM 子解法1(使用层次图模型) 子解法2(动态数据整合) 子解法3(LLM引导评估) 提出背景 论文:https://arxiv.org/pdf/2406.16252 健康监测系统通过持续…

ui.perfetto.dev sql 查询某个事件范围内,某个事件的耗时并降序排列

ui.perfetto.dev sql 查询某个事件范围内,某个事件的耗时并降序排列 1.打开https://ui.perfetto.dev 导入Chrome Trace Json文件2.ParallelMLP.forward下的RowParallelLinear.forward3.点击Query(SQL),在输入框中输入以下内容,按CtrlEnter,显示查询结果4.点击Show timeline,点击…

Python特征工程 — 1.4 特征归一化方法详解

目录 1 Min-Max归一化 方法1:自定义的Min-Max归一化封装函数 方法2: scikit-learn库中的MinMaxScaler 2 Z-score归一化 方法1:自定义的Z-score归一化封装函数 方法2: scikit-learn库中的StandardScaler 3 最大值归一化 4 L…

不是大厂云用不起,而是五洛云更有性价比

明月代维的一个客户的大厂云境外云服务器再有几天就到期了,续费提醒那是提前一周准时到来,但是看到客户发来的续费价格截图,我是真的没忍住。这不就是在杀熟吗?就这配置续费竟然如此昂贵?说实话这个客户的服务器代维是…

20240703在飞凌OK3588-C开发板上刷Rockchip原厂的Buildroot20220811

20240703在飞凌OK3588-C开发板上刷Rockchip原厂的Buildroot20220811 2024/7/3 18:25 详细的刷机LOG: [BEGIN] 2024/7/3 18:18:49 rootRK3588:/# DDR Version V1.07 20220412 LPDDR4X, 2112MHz channel[0] BW16 Col10 Bk8 CS0 Row16 CS1 Row16 CS2 Die BW16 Size204…

创建线程的五种方式

一.继承Thread ,重写run class MyThread extends Thread{Overridepublic void run() {//这里的内容就是该线程要完成的工作while(true) {System.out.println("hello thread");try {Thread.sleep(1000);} catch (InterruptedException e) {throw new RuntimeExceptio…

类和对象(提高)

类和对象(提高) 1、定义一个类 关键字class 6 class Data1 7 { 8 //类中 默认为私有 9 private: 10 int a;//不要给类中成员 初始化 11 protected://保护 12 int b; 13 public://公共 14 int c; 15 //在类的内部 不存在权限之分 16 void showData(void)…

远程登录WINDOWS10,提示你的凭据不工作

1:想通过远程桌面登录WINDOWS10输入用户名和密码后,出现下面的提示。 2:登录WINDOWS10,在运行中输入gpedit.msc 3:本地组策略编辑器窗口中,依次展开,计算机配置 ---> 管理模版---> 系统--…

海外注册 | 欧盟医疗器械法规下免除临床试验的条件与要求

在欧盟医疗器械法规(MDR)的严格监管下,植入性医疗器械和III类医疗器械通常需要进行临床试验来证明其安全性和性能。 然而,MDR也规定了一些特定情况下免除临床试验的可能性。以下是免除临床试验的条件和要求的详细说明&#xff1a…

“穿越时空的机械奇观:记里鼓车的历史与科技探秘“

在人类文明的发展历程中,科技的创新与进步不仅仅推动了社会的进步,也为我们留下了丰富的文化遗产。记里鼓车,作为一种古老的里程计量工具,其历史地位和技术成就在科技史上具有重要的意义。本文将详细介绍记里鼓车的起源、结构原理…

视频分析、目标检测的过去和未来:目标检测从入门到精通 ------ YOLOv8 到 多模态大模型处理视觉基础任务

文章大纲 计算机视觉项目的关键步骤目标检测入门视频分析项目最佳实践数据集构建数据准备:数据集标注规范与数据规模参考标注工具标注工具:目标检测yolo 极简标注工具综合标注工具:label-studio半自动标注工具:X-AnyLabeling目标检测与多模态哪些多模态模型可以做目标检测?…

顺序表--续(C语言详细版)

2.9 在指定位置之前插入数据 // 在指定位置之前插入数据 void SLInsert(SL* ps, int pos, SLDataType x); 步骤: ① 程序开始前,我们要断言一下,确保指针是有效的,不是NULL; ② 我们还要断言一下,指定的…

【大模型LLM面试合集】大语言模型基础_llm概念

1.llm概念 1.目前 主流的开源模型体系 有哪些? 目前主流的开源LLM(语言模型)模型体系包括以下几个: GPT(Generative Pre-trained Transformer)系列:由OpenAI发布的一系列基于Transformer架构…