当前位置: 首页 > article >正文

onnx-runner:使用ORT运行YOLO的ONNX模型

onnx-runner

onnx-runner使用 ORT 运行 ONNX 模型,使用Rust构建。

目前仅支持 YOLO 模型,未来可能会支持其他 ONNX 模型

安装

要求

  • 如果您想使用 CPU 运行 onnx-runner,则无需安装
  • 如果您想使用 GPU 运行 onnx-runner,则需要安装 CUDA 12.x 和 CUDNN 9.x

Windows

  • 下载最新
    版本:onnx-runner-0.1.1-windows.tar.gz

  • 或从发布页面下载:Releases

  • onnx-runner-{version}-windows.tar.gz 解压到您的路径。压缩包中已经包含运行 ONNX 和 OpenCV 所需的依赖项。您不需要下载任何其他依赖项

  • 使用 CMD 或 PowerShell 运行 onnx-runner

    onnx-runner.exe -m <your_onnx_model> -i <your_input> --show
    

Ubuntu

  • 下载并安装

    # 下载最新软件包
    wget https://github.com/xgpxg/onnx-runner/releases/download/v0.1.1/onnx-runner_0.1.1_amd64.deb
    # 安装软件包
    sudo apt install ./onnx-runner_0.1.1_amd64.deb
    

注意:OpenCV 将默认安装

  • 运行 onnx-runner

    onnx-runner -m <your_onnx_model> -i <your_input> --show
    

其他 Linux

  • 下载最新
    版本:onnx-runner-v0.1.1-linux.tar.gz

  • onnx-runner-{version}-linux.tar.gz提取到您的路径下。

  • libonnxruntime.so 复制到/usr/lib

  • 安装 Opencv

  • 运行 onnx-runner

    onnx-runner -m <your_onnx_model> -i <your_input> --show
    

MacOS

目前暂不支持

用法

CLI

onnx-runner -m yolov8n.onnx -i image.jpg --show

有关更多信息,请参阅帮助:

onnx-runner -h

Usage: onnx-runner.exe [OPTIONS] --model <MODEL> --input <INPUT>

Options:
  -m, --model <MODEL>                YOLO onnx model file path, support version: v5, v7, v8, v10, and v11
  -i, --input <INPUT>                Input source, like image file, http image, camera, or rtsp
      --yolo-version <YOLO_VERSION>  The number of YOLO version, like 5, 7 ,8 ,10, or 11. Specifically, for YOLO 10, it needs to be set up [default: 8]
      --show                         Should the detection results be displayed in the gui window, default is false
  -h, --help                         Print help
  -V, --version                      Print version

支持的输入源:

输入示例
本地图像文件D:/images/img.png
网络图像文件https://cdn.pixabay.com/photo/2019/11/05/01/00/couple-4602505_1280.jpg
本地视频文件D:/images/video.mp4
网络视频文件https://cdn.pixabay.com/video/2024/06/04/215258_large.mp4
本地摄像头camera://0
IP摄像头(RTSP)rtsp://192.168.1.5:554

Lib

您需要安装rustcargo,然后将onnx-runner添加到您的项目中。

cargo add onnx-runner

示例

fn main() {
	//使用默认配置
	let mut config = ModelRunConfig::default();
	//创建一个新的runner
	let runner = ModelRunner::new(args.model.as_str(), config).unwrap();
	//运行。input可以是本地图片、网络图片、摄像头或者支持RTSP的远程摄像头
	runner.run(args.input.as_str(), ModelRunner::no_pre, |res, mut mat| {
		//在这里您的代码。您可以将结果发送到http服务
		println!("Result: {:?}", &res);
	},
	)?;
}

CPU/GPU支持

所有CPU都支持。

目前仅支持Nvidia GPU。您需要在设备上安装CUDA 12.x +和cudnn 9.x +。

问题解答

  • 已经安装了CUDA和CUDNN,但为什么仍然使用CPU而不是GPU?

首先检查CUDA环境变量是否已配置,然后检查CUDNN依赖库是否已复制到CUDA目录。注意CUDA和CUDNN的版本。目前仅支持 CUDA12.x 和 CUDNN9.x。


http://www.kler.cn/a/387946.html

相关文章:

  • 【机器学习】机器学习中用到的高等数学知识-3.微积分 (Calculus)
  • 【CICD】GitLab Runner 和执行器(Executor
  • Qt初识简单使用Qt
  • 从0开始学docker (每日更新 24-11-7)
  • LeetCode【0018】四数之和
  • 游戏引擎学习第五天
  • 安全关键型嵌入式系统设计模式整理及应用实例
  • Flink的流、批处理
  • 【开源免费】基于SpringBoot+Vue.JS医院管理系统(JAVA毕业设计)
  • 使用ref操作DOM(React)
  • Qt菜单功能实现
  • 【Ant.designpro】上传图片
  • LeetCode-两整数之和
  • 清华大学提出Mini-Omni2:开源多模态模型,功能与GPT-4o媲美!
  • 继承的学习
  • 漫途LoRa家族系列产品,高效、稳定、智能的物联网通信!
  • 智象未来(HiDream.ai):从科技创新启程,绘制智能未来新篇章
  • 【MySQL】数据的增删查改
  • //字符串数组
  • STM32单片机WIFI语音识别智能衣柜除湿消毒照明
  • 在 C# 中,ICollection 和 IList 接口有什么区别?
  • SQL注入攻击及其在SpringBoot中使用MyBatisPlus的防范策略
  • [OpenGL]使用OpenGL实现硬阴影效果
  • Audio-Language Models
  • MySQL8完全卸载方法-Win10系统
  • 4.python字面量