【深度學習】ONNX介紹

ONNX(Open Neural Network Exchange)
ONNX 是一種用于表示深度學習模型的開放格式,使得不同深度學習框架(如 PyTorch、TensorFlow、Caffe2 等)之間的模型能夠相互交換。

需安裝:

pip install --upgrade onnx onnxscript onnxruntime

Pytorch張量

可使用torch.rand()方法創建0~1均勻分布的隨機數,使用torch.randn()方法創建標準正態分布隨機數,使用torch.zeros()和torch.ones()方法創建全0和全1的張量。
在構造張量時使用dtype明確其類型。

PyTorch針對torch.float32和torch.int64類型有專門這樣的簡寫形式是因為,這兩種類型特別重要,模型的輸入類型一般都是torch.float32,而模型分類問題的標簽類型一般為torch.int64。

torch.onnx.export 是 PyTorch 自帶的把模型轉換成 ONNX 格式的函數。前三個參數分別是要轉換的模型模型的任意一組輸入導出的 ONNX 文件的文件名

簡單示例

import torch  
import torchvision.models as models  # 加載一個預訓練的 PyTorch 模型  
model = models.resnet18(pretrained=True)  
model.eval()  # 創建一個虛擬輸入張量(這里使用隨機數據)  
dummy_input = torch.randn(1, 3, 224, 224)  # 假設輸入是一張 224x224 的 RGB 圖像  # 導出模型為 ONNX 格式  
torch.onnx.export(model, dummy_input, "resnet18.onnx", verbose=True, input_names=["input_0"], output_names=["output_0"])

注意點:

  • 確保你的 PyTorch 模型在導出之前已經處于評估模式(model.eval()

  • 示例輸入(dummy input)應該與你的模型訓練時使用的輸入具有相同的形狀和數據類型。

  • 在將輸入數據傳遞給 ONNX Runtime 之前,請確保它們已經轉換為 NumPy 數組,并且位于 CPU 上

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/14776.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/14776.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/14776.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

docker 版 mysql 主從同步

docker 版 mysql 主從同步 1、環境2、搭建主服務器實例33062.1、命令2.3、進入/mydata/mysql-master/conf 目錄下新建 my.cnf2.4、修改完配置后重啟 master 實例2.5、進入 mysql-master 容器2.6、master 容器實例內創建數據同步用戶3、新建從服務實例 33083.1、命令3.2、進入/m…

springboot185基于vue.js的客戶關系管理系統(crm)的設計與實現-手把手調試搭建

springboot185基于vue.js的客戶關系管理系統(crm)的設計與實現-手把手調試搭建 springboot185基于vue.js的客戶關系管理系統(crm)的設計與實現-手把手調試搭建

springboot事務結合分布式鎖超賣問題

背景 商品銷售扣減庫存是常見的場景,考慮性能的可以使用redis存儲庫存進行扣減,并發小的也可以采用數據量庫存占用記錄實時計算方式,最近開發的功能由于并發量不大,考慮到實現簡潔的因素,決定采用庫存占用記錄實時計算…

后端之路第二站(正片)——SprintBoot之:設置請求接口

這一篇講怎么簡單結合模擬云接口,嘗試簡單的后端接接口、接受并傳數據 一、下載Apifox接口文檔軟件 目前的企業都是采用前后端分離開發的,在開發階段前后端需要統一發送請求的接口,前端也需要在等待后端把數據存到數據庫之前,自己…

初始MyBatis ,詳細步驟運行第一個MyBatis程序,同時對應步驟MyBatis底層剖析

1. 初始MyBatis ,詳細步驟運行第一個MyBatis程序,同時對應步驟MyBatis底層剖析 文章目錄 1. 初始MyBatis ,詳細步驟運行第一個MyBatis程序,同時對應步驟MyBatis底層剖析每博一文案2. 前沿知識2.1 框架(framework&#…

剪畫小程序:3個方法:告訴你如何將普通的照片轉換成動漫二次元風格!

Hello!親愛的小伙伴們! 你是否還在糾結于自己的自拍太普通,每次分享到社交賬號上都覺得平平無奇,引不起波瀾? 假如,你和朋友們一起出去玩,大家都開心地拍著自拍。你看著自己的照片&#xff0c…

藍橋杯-數三角(ac代碼時間復雜度分析)

問題描述 小明在二維坐標系中放置了 ( n ) 個點,他想在其中選出一個包含三個點的子集,這三個點能組成三角形。然而這樣的方案太多了,他決定只選擇那些可以組成等腰三角形的方案。請幫他計算出一共有多少種選法可以組成等腰三角形&#xff1f…

WXML模板語法-事件綁定

一、 1.事件 事件是渲染層到邏輯層的通訊方式,通過事件可以將用戶在渲染層產生的行為,反饋到邏輯層進行業務的處理 2.小程序中常用的事件 3.事件對象的屬性列表 當事件回調觸發的時候,會收到一個事件對象event,其屬性為&#x…

在uni-app 插件市場下載 SKU 插件之后,引入項目報錯問題

引入&#xff1a; git 提交報錯&#xff1a; 原因&#xff1a;項目使用了 eslint 語法檢查 解決&#xff1a;禁用 eslint 語法規則 在<script> 標簽下面添加 /* eslint-disable */ 重新提交即可

Winform 界面管理

winform 打開多個界面時&#xff0c;如果使用 Form.Show 方法&#xff0c;有時候沒注意就把同一個窗體打開多次&#xff0c;這可能會導致數據混亂&#xff0c;如果去判斷窗體是否打開也很麻煩&#xff0c;需要寫一堆的代碼才能實現&#xff0c;為了解決這個問題&#xff0c;我做…

【網絡技術】【Kali Linux】Wireshark嗅探(十四)QUIC(快速UDP互聯網連接)協議報文捕獲及分析

往期 Kali Linux 上的 Wireshark 嗅探實驗見博客&#xff1a; 【網絡技術】【Kali Linux】Wireshark嗅探&#xff08;一&#xff09;ping 和 ICMP 【網絡技術】【Kali Linux】Wireshark嗅探&#xff08;二&#xff09;TCP 協議 【網絡技術】【Kali Linux】Wireshark嗅探&…

【Python快速上手(三十一)】- Python MongoDB 詳解

目錄 Python快速上手&#xff08;三十一&#xff09;Python MongoDB 詳解1. 安裝 pymongo2. 連接 MongoDB3. 創建和刪除集合4. CRUD 操作5. 查詢操作6. 索引7. 聚合8. 其他操作9. 連接池和超時10. 實際應用案例 Python快速上手&#xff08;三十一&#xff09; Python MongoDB …

移動硬盤容量消失無法讀取的解決方案

在數字化時代&#xff0c;數據的存儲和備份變得尤為重要。移動硬盤作為一種便捷、大容量的存儲設備&#xff0c;受到許多人的青睞。然而&#xff0c;有時我們可能會遭遇這樣的問題&#xff1a;移動硬盤不顯示容量且無法訪問。這種情況無疑給我們的數據存儲和管理帶來了巨大的困…

uniapp移動端骨架屏流程

1.使用微信開發者工具來生成骨架屏&#xff1b;在分窗模式下選擇頁面信息&#xff0c;下拉選擇生成骨架屏&#xff1b;他會基于當前頁面生成骨架屏的樣式 點擊確定&#xff1b; 會自動生成這兩個文件&#xff1b;一個是html結構文件&#xff0c;一個是css樣式文件。 然后把這兩…

黃石首家Pearson VUE國際認證考試中心落戶湖北理工學院

Pearson VUE 作為 Pearson 集團的專門從事計算機化考試服務的公司&#xff0c;到目前為止&#xff0c;已在全世界165 個國家授權了 4400 多個考試中心以及超過 230 家 PVUE 自有考試中心&#xff0c;其中在中國的有三百多個授權考點和 4 個自有考試中心。Pearson VUE 以其技術和…

LLaMa系列模型詳解(原理介紹、代碼解讀):LLaMA 3

LLaMA 3 2024年4月18日&#xff0c;Meta 重磅推出了Meta Llama 3&#xff0c;Llama 3是Meta最先進開源大型語言模型的下一代&#xff0c;包括具有80億和700億參數的預訓練和指令微調的語言模型&#xff0c;能夠支持廣泛的應用場景。這一代Llama在一系列行業標準基準測試中展示…

2021遼寧省大學生程序設計競賽(正式賽)

比賽經過&#xff1a;寫了七八題&#xff0c;有一個topsort寫錯地方了&#xff0c;本場題目都較為簡單考的知識都比較明顯 補題&#xff1a;有些題目還得多思考其實也不難 目錄 B.阿強的路 C.傳染病統計 D.阿強與網格 E.生活大爆炸 F.Capslock G.字節類型 H.制造游戲幣…

AI模型:開源VS閉源,誰主沉浮?

簡介&#xff1a;評價一個AI模型“好不好”“有沒有發展”&#xff0c;首先就躲不掉“開源”和“閉源”兩條發展路徑。對于這兩條路徑&#xff0c;你更看好哪一種呢&#xff1f; 開源AI模型的優點。 開源AI模型的最大優勢在于其開放性和可訪問性。通過將AI模型的源代碼公開&a…

java學習四

Random 隨機數 數組 靜態初始化數組 數組在計算機中的基本原理 數組的訪問 什么是遍歷 數組的動態初始化 動態初始化數組元素默認值規則 Java內存分配介紹 數組在計算機中的執行原理 使用數組時常見的一個問題 案例求數組元素最大值 public class Test1 {public static void ma…

<工控><PLC>匯川Easy521系列PLC與匯川SV630N伺服進行EtherCat通訊的相關配置及指令編寫

前言 本系列是關于PLC相關的博文&#xff0c;包括PLC編程、PLC與上位機通訊、PLC與下位驅動、儀器儀表等通訊、PLC指令解析等相關內容。 PLC品牌包括但不限于西門子、三菱等國外品牌&#xff0c;匯川、信捷等國內品牌。 除了PLC為主要內容外&#xff0c;PLC相關元器件如觸摸屏…