++|RT-DETR、YOLO-NAS、YOLOv10、YOLOv9、YOLOv8-28资讯网——每日最新资讯28at.com - 天津谷骐科技有限公司
当前位置:首页 > 科技  > 软件

将目标检测模型导出到C++|RT-DETR、YOLO-NAS、YOLOv10、YOLOv9、YOLOv8

来源: 责编: 时间:2024-09-10 09:45:15 36观看
导读最近,出现了更新的YOLO模型,还有RT-DETR模型,这是一个声称能击败YOLO模型的变换器模型,我想将这些模型导出并进行比较,并将它们添加到我的库中。在这篇文章中,我将带你了解如何将这些模型导出到ONNX并运行它们,然后最终比较

最近,出现了更新的YOLO模型,还有RT-DETR模型,这是一个声称能击败YOLO模型的变换器模型,我想将这些模型导出并进行比较,并将它们添加到我的库中。在这篇文章中,我将带你了解如何将这些模型导出到ONNX并运行它们,然后最终比较这些模型的速度。6AK28资讯网——每日最新资讯28at.com

6AK28资讯网——每日最新资讯28at.com

6AK28资讯网——每日最新资讯28at.com

将RT-DETR模型导出到ONNX

6AK28资讯网——每日最新资讯28at.com

这是从模型的GitHub页面获取的模型示例输出6AK28资讯网——每日最新资讯28at.com

为了导出模型,我们需要从模型的GitHub仓库克隆代码(https://github.com/lyuwenyu/RT-DETR)。我将向你展示如何导出模型的第二个版本。如果你想使用第一个版本,导出步骤应该是类似的。6AK28资讯网——每日最新资讯28at.com

git clone https://github.com/lyuwenyu/RT-DETR.gitcd RT-DETR/rtdetrv2_pytorch

然后我们需要创建一个Python虚拟环境来运行代码。如果你已经有一个工作的环境,那么你可以跳过这一步。6AK28资讯网——每日最新资讯28at.com

python -m venv rtdetrv2-envsource rtdetrv2-env/bin/activatepip install -r requirements.txtpip install scipy

代码需要scipy库,但它不在需求文件中,你需要手动安装。然后我们需要下载coco数据集的YAML配置文件和模型。我们将在这里下载的模型是中等大小的模型。你可以在这里找到其他模型的链接。6AK28资讯网——每日最新资讯28at.com

mkdir modelscd modelswget -c https://github.com/lyuwenyu/storage/releases/download/v0.1/rtdetrv2_r34vd_120e_coco_ema.pthwget -O dataset/coco_detection.yml https://raw.githubusercontent.com/ultralytics/ultralytics/main/ultralytics/cfg/datasets/coco.yaml

现在我们可以导出模型了。请注意,如果你改变了模型大小,那么你需要更改下面的配置文件路径以匹配模型。6AK28资讯网——每日最新资讯28at.com

python tools/export_onnx.py -c configs/rtdetrv2/rtdetrv2_r34vd_120e_coco.yml -r models/rtdetrv2_r34vd_120e_coco_ema.pth --check

现在你有了你的模型(在rtdetrv2_pytorch目录中的model.onnx文件)。你可以进入运行模型部分。6AK28资讯网——每日最新资讯28at.com

6AK28资讯网——每日最新资讯28at.com

将YOLO-NAS导出到ONNX

6AK28资讯网——每日最新资讯28at.com

与模型的GitHub页面上的其他模型相比,YOLO-NAS模型6AK28资讯网——每日最新资讯28at.com

为了导出YOLO-NAS模型,你需要安装super_gradients库,然后运行以下Python代码。模型变体是YOLO_NAS_S、YOLO_NAS_M、YOLO_NAS_L。6AK28资讯网——每日最新资讯28at.com

from super_gradients.training import modelsfrom super_gradients.common.object_names import Modelsmodel = models.get(Models.YOLO_NAS_S, pretrained_weights="coco")model.eval()model.prep_model_for_conversion(input_size=[1, 3, 640, 640])model.export("yolo_nas_s.onnx", postprocessing=None, preprocessing=None)

现在你有了你的模型(yolo_nas_s.onnx文件)。你可以进入运行模型部分。6AK28资讯网——每日最新资讯28at.com

6AK28资讯网——每日最新资讯28at.com

将YOLOv10导出到ONNX

6AK28资讯网——每日最新资讯28at.com

与模型的GitHub页面上的其他模型相比,YOLOv10模型的延迟6AK28资讯网——每日最新资讯28at.com

我们需要克隆GitHub仓库(https://github.com/THU-MIG/yolov10)并创建一个Conda环境来运行导出代码。6AK28资讯网——每日最新资讯28at.com

git clone https://github.com/THU-MIG/yolov10.gitcd yolov10conda create -n yolov10-env python=3.9conda activate yolov10-envpip install -r requirements.txtpip install -e .

现在我们需要导出模型。模型的前缀是jameslahm/,支持的模型有yolov10n、yolov10s、yolov10m、yolov10b、yolov10l、yolov10x。6AK28资讯网——每日最新资讯28at.com

yolo export model=jameslahm/yolov10m format=onnx opset=13 simplify

现在你有了你的模型(yolov10目录中的yolov10m.onnx文件)。你可以进入运行模型部分。6AK28资讯网——每日最新资讯28at.com

6AK28资讯网——每日最新资讯28at.com

将YOLOv9导出到ONNX

6AK28资讯网——每日最新资讯28at.com

与模型的GitHub页面上的其他模型相比,YOLOv9模型的参数数量6AK28资讯网——每日最新资讯28at.com

为了导出YOLOv9,你需要有一个工作的正常安装的docker。你可以启动一个容器并导出模型。你可以在这里找到模型文件。6AK28资讯网——每日最新资讯28at.com

# Create an empty directory and cd into itgit clone https://github.com/WongKinYiu/yolov9.git# Now we have yolov9 folder in out current directory. Then we run the following line:docker run --name yolov9 -it -v `pwd`:`pwd` -w `pwd` --shm-size=64g nvcr.io/nvidia/pytorch:21.11-py3# Install dependenciesapt updateapt install -y zip htop screen libgl1-mesa-glxpip install seaborn thopcd yolov9# Download the modelwget https://github.com/WongKinYiu/yolov9/releases/download/v0.1/yolov9-s.pt# Export the modelpython export.py --weights yolov9-s.pt --include onnx

现在你有了你的模型(yolov9目录中的yolov9-s.onnx文件)。你可以进入运行模型部分。6AK28资讯网——每日最新资讯28at.com

6AK28资讯网——每日最新资讯28at.com

将YOLOv8导出到ONNX

6AK28资讯网——每日最新资讯28at.com

与模型的GitHub页面上的其他模型相比,YOLOv8模型6AK28资讯网——每日最新资讯28at.com

将YOLOv8导出比其他模型更容易。你只需要安装ultralytics并导出模型。支持的模型有yolov8n、yolov8s、yolov8m、yolov8l和yolov8x。如果你想的话,你可以创建一个虚拟环境来隔离安装。6AK28资讯网——每日最新资讯28at.com

pip install ultralyticswget https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8n.ptyolo export model=yolov8n.pt format=onnx

现在你有了模型(yolov8n.onnx文件),可以进入运行模型部分。6AK28资讯网——每日最新资讯28at.com

6AK28资讯网——每日最新资讯28at.com

运行模型

现在你有了你想要导出的ONNX模型,你可以使用我编写的库来运行这些模型。你可以在这里找到这个库。库的README文件解释了如何链接到库。以下是如何使用库中的RT-DETR模型的示例。6AK28资讯网——每日最新资讯28at.com

#include <objdetex/objdetex.h>int main(){    using namespace ObjDetEx;    Detector detector(Detector::RT_DETR, "<path/to/onnx/model>");    Size batchSize = 1;    double detectionThreshold = .6;    // Fill this with batchSizex3x640x640 image data    float *imagePtr = nullptr;    // Fill this with batchSizex2 dimension data, not needed for YOLO models    // NOTE: 2 is width and height of the original images before resizing to 640x640    int64_t *dimensionPtr = nullptr;    auto detections = detector(Tensor(imagePtr, {batchSize, 3, 640, 640}),  //                               Tensor(dimensionPtr, {batchSize, 2}), detectionThreshold);    // Use the detections    return 0;}

本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-112709-0.html将目标检测模型导出到C++|RT-DETR、YOLO-NAS、YOLOv10、YOLOv9、YOLOv8

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 提升效率必备!学习 awk 命令,轻松搞定数据

下一篇: 通过 12 个示例探索 Python 列表与索引的奥秘

标签:
  • 热门焦点
  • 鸿蒙OS 4.0公测机型公布:甚至连nova6都支持

    鸿蒙OS 4.0公测机型公布:甚至连nova6都支持

    华为全新的HarmonyOS 4.0操作系统将于今天下午正式登场,官方在发布会之前也已经正式给出了可升级的机型产品,这意味着这些机型会率先支持升级享用。这次的HarmonyOS 4.0支持
  • Rust中的高吞吐量流处理

    Rust中的高吞吐量流处理

    作者 | Noz编译 | 王瑞平本篇文章主要介绍了Rust中流处理的概念、方法和优化。作者不仅介绍了流处理的基本概念以及Rust中常用的流处理库,还使用这些库实现了一个流处理程序
  • 服务存储设计模式:Cache-Aside模式

    服务存储设计模式:Cache-Aside模式

    Cache-Aside模式一种常用的缓存方式,通常是把数据从主存储加载到KV缓存中,加速后续的访问。在存在重复度的场景,Cache-Aside可以提升服务性能,降低底层存储的压力,缺点是缓存和底
  • 虚拟键盘 API 的妙用

    虚拟键盘 API 的妙用

    你是否在遇到过这样的问题:移动设备上有一个固定元素,当激活虚拟键盘时,该元素被隐藏在了键盘下方?多年来,这一直是 Web 上的默认行为,在本文中,我们将探讨这个问题、为什么会发生
  • 电视息屏休眠仍有网络上传 爱奇艺被质疑“薅消费者羊毛”

    电视息屏休眠仍有网络上传 爱奇艺被质疑“薅消费者羊毛”

    记者丨宁晓敏 见习生丨汗青出品丨鳌头财经(theSankei) 前不久,爱奇艺发布了一份亮眼的一季报,不仅营收和会员营收创造历史最佳表现,其运营利润也连续6个月实现增长。自去年年初
  • 最“俊美”淘宝卖家,靠直播和短视频圈粉,上架秒光,年销3000万

    最“俊美”淘宝卖家,靠直播和短视频圈粉,上架秒光,年销3000万

    来源 | 电商在线文|易琬玉编辑|斯问受访店铺:Ringdoll戒之人形图源:微博@御座的黄山、&ldquo;Ringdoll戒之人形&rdquo;淘宝店铺有关外貌的评价,黄山已经听累了。生于1985年的他,哪
  • 腾讯VS网易,最卷游戏暑期档,谁能笑到最后?

    腾讯VS网易,最卷游戏暑期档,谁能笑到最后?

    作者:无锈钵来源:财经无忌7月16日晚,上海1862时尚艺术中心。伴随着幻象的精准命中,硕大的荧幕之上,比分被定格在了14:12,被寄予厚望的EDG战队以绝对的优势战胜了BLG战队,拿下了总决
  • iQOO Neo8系列新品发布会

    iQOO Neo8系列新品发布会

    旗舰双芯 更强更Pro
  • SN570 NVMe SSD固态硬盘 价格与性能兼具

    SN570 NVMe SSD固态硬盘 价格与性能兼具

    SN570 NVMe SSD固态硬盘是西部数据发布的最新一代WD Blue系列的固态硬盘,不仅闪存技术更为精进,性能也得到了进一步的跃升。WD Blue SN570 NVMe SSD的包装外
Top
Baidu
map