0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ONNX格式模型部署兼容性框架介紹

OpenCV學堂 ? 來源:OpenCV學堂 ? 2023-06-19 11:50 ? 次閱讀

ONNXRUNTIME介紹

ONNX格式模型部署兼容性最強的框架 ONNXRUNTIME,基本上不會有算子不支持跟不兼容的情況出現(xiàn),只要能導出ONNX格式模型,它基本上都能成功加載,成功推理。雖然在CPU速度不及OpenVINO、GPU上速度不及TensorRT,但是勝在兼容性強,支持不同硬件上推理部署包括:ARM、CPU、GPU、AMD等,

1665fff6-0d1d-11ee-962d-dac502259ad0.png

可以通過設置不同的推理后臺支持,包括:

16a1b50a-0d1d-11ee-962d-dac502259ad0.png

支持語言也非常豐富,不止于PythonC++語言,支持列表如下:

16b915a6-0d1d-11ee-962d-dac502259ad0.png

支持的操作系統(tǒng)包括Windows、Android、烏班圖、iOS等。

Python版本安裝與測試

Python版本安裝特別容易,一條命令行搞定 CPU版本

pip install onnxruntime

GPU版本

pip install onnxruntime-gpu
通過下面的API函數(shù)可以查詢當前支持推理Provider,代碼如下:

16e5c8f8-0d1d-11ee-962d-dac502259ad0.png

運行結果如下:

16f710f4-0d1d-11ee-962d-dac502259ad0.png

C++版本安裝與測試

首先需要下載安裝包,以 microsoft.ml.onnxruntime.gpu.1.13.1為例。首先需要配置包含目錄

D:microsoft.ml.onnxruntime.gpu.1.13.1buildnativeinclude

然后配置庫目錄:

D:microsoft.ml.onnxruntime.gpu.1.13.1runtimeswin-x64native

最后配置鏈接器,我的是支持CUDA版本,配置如下:

onnxruntime_providers_shared.lib
onnxruntime_providers_cuda.lib
onnxruntime.lib

最后把DLL文件copy到編譯生成的可執(zhí)行文件同一個目錄下,直接運行即可。C++推理,簡單說分為四步,首先引入包含文件支持,再初始化推理會話對象Session,預處理圖像,然后執(zhí)行推理,最后完成后處理即可。

1714b672-0d1d-11ee-962d-dac502259ad0.png

以ResNet18模型為例,導出ONNX格式,基于ONNXRUNTIME推理效果如下:

17711d18-0d1d-11ee-962d-dac502259ad0.png
責任編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 硬件
    +關注

    關注

    11

    文章

    3211

    瀏覽量

    66059
  • 框架
    +關注

    關注

    0

    文章

    398

    瀏覽量

    17404
  • 模型
    +關注

    關注

    1

    文章

    3112

    瀏覽量

    48658

原文標題:ONNX模型部署利器ONNXRUNTIME框架

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    系統(tǒng)的電磁兼容性分析模型及設計方法

    本帖最后由 sder1357 于 2011-10-24 09:21 編輯 系統(tǒng)的電磁兼容性分析模型及設計方法1 電磁干擾的途徑及耦合過程1.1電磁干擾途徑透過屏蔽體將干擾耦合至屏蔽體內透過
    發(fā)表于 10-19 19:51

    深度探索ONNX模型部署 精選資料分享

    這篇文章從多個角度探索了ONNX,從ONNX的導出到ONNX和Caffe的對比,以及使用ONNX遭遇的困難以及一些解決辦法,另...
    發(fā)表于 07-20 07:41

    ONNX的相關資料分享

    ONNX文件并生成特定平臺和運行框架所支持的神經網絡模型。ONNX本身不是AI神經網絡運行框架,只是AI神經網絡
    發(fā)表于 11-05 06:45

    如何使用Paddle2ONNX模型轉換工具將飛槳模型轉換為ONNX模型?

    如何使用Paddle2ONNX模型轉換工具將飛槳模型轉換為ONNX模型?
    發(fā)表于 12-29 07:42

    EIQ onnx模型轉換為tf-lite失敗怎么解決?

    我們正在嘗試將 tflite 框架與 npu 一起使用來進行機器學習。這是我們的步驟:1)用pytorch訓練一個模型2) 以onnx格式導出模型
    發(fā)表于 03-31 08:03

    OpenHarmony 小型系統(tǒng)兼容性測試指南

    前言基于OpenHarmony開源代碼研發(fā)的設備和業(yè)務應用滿足OpenHarmony開源兼容性定義的技術要求,完成兼容性測試。本文詳細介紹基于小型系統(tǒng)兼容性測試過程,指導完成測試。
    發(fā)表于 04-07 09:01

    單片開關電源的電磁兼容性設計

    摘要:介紹了單片電源的電磁兼容性(EMC)設計,內容包括對電磁干擾波形和電路模型進行分析,以及EMI濾波器的電路設計
    發(fā)表于 06-23 10:43 ?39次下載

    將TensorFlow Lite模型轉換為ONNX

    由 Facebook 和 Microsoft 創(chuàng)建的開放格式神經網絡交換格式 ONNX,是一種用于表示機器學習模型。
    的頭像 發(fā)表于 12-08 23:19 ?1333次閱讀

    嵌入式Linux平臺部署AI神經網絡模型Inference的方案

    ONNX文件并生成特定平臺和運行框架所支持的神經網絡模型。ONNX本身不是AI神經網絡運行框架,只是AI神經網絡
    發(fā)表于 11-02 10:21 ?14次下載
    嵌入式Linux平臺<b class='flag-5'>部署</b>AI神經網絡<b class='flag-5'>模型</b>Inference的方案

    YOLOX模型ONNX格式說明

    我記得大概是在去年七月份的時候我寫過一篇文章是介紹YOLOX+OpenVINO推理的,下載YOLOX的ONNX格式模型(github上可以下載)
    的頭像 發(fā)表于 04-13 08:35 ?5494次閱讀

    Flex Logix InferX X1M邊緣推理加速器

      此外,開放神經網絡交換 (ONNX格式兼容性允許 InferX X1M 工具以最佳方式自動將框架中表示的任何模型映射到 X1 加速
    的頭像 發(fā)表于 07-11 09:56 ?1084次閱讀

    如何使用TensorRT框架部署ONNX模型

    模型部署作為算法模型落地的最后一步,在人工智能產業(yè)化過程中是非常關鍵的步驟,而目標檢測作為計算機視覺三大基礎任務之一,眾多的業(yè)務功能都要在檢測的基礎之上完成,本文提供了YOLOv5算法從0部署
    的頭像 發(fā)表于 10-31 14:27 ?3220次閱讀

    電磁兼容性測試介紹 (I)

    電磁兼容性測試介紹 (I)
    發(fā)表于 11-04 09:52 ?1次下載
    電磁<b class='flag-5'>兼容性</b>測試<b class='flag-5'>介紹</b> (I)

    TorchVision框架模型導出并部署到ONNXRUNTIME C++全流程解析

    ONNXRUNTIME是主流的深度學習部署框架之一,支持ONNX格式模型在CPU、GPU、ARM等不同硬件平臺上加速推理,支持C++、Pyt
    的頭像 發(fā)表于 07-13 14:46 ?1265次閱讀
    TorchVision<b class='flag-5'>框架</b>下<b class='flag-5'>模型</b>導出并<b class='flag-5'>部署</b>到ONNXRUNTIME C++全流程解析

    用STM32Cube.AI部署ONNX模型實操示例:風扇堵塞檢測

    用STM32Cube.AI 部署ONNX 模型實操示例:風扇堵塞檢測
    的頭像 發(fā)表于 09-28 16:25 ?2357次閱讀
    用STM32Cube.AI<b class='flag-5'>部署</b><b class='flag-5'>ONNX</b><b class='flag-5'>模型</b>實操示例:風扇堵塞檢測