轉換 pytorch 格式模型為 caffe格式模型 pth2caffemodel

基于?GitHub xxradon/PytorchToCaffe 源碼,修改 example\resnet_pytorch_2_caffe.py?如下

import os
import sys
sys.path.insert(0, '.')import torch
from torch.autograd import Variable
from torchvision.models import resnet
import pytorch_to_caffe"""resnet models in pytorch format can be downloaded from‘resnet18’: ‘https://download.pytorch.org/models/resnet18-5c106cde.pth’,‘resnet34’: ‘https://download.pytorch.org/models/resnet34-333f7ec4.pth’,‘resnet50’: ‘https://download.pytorch.org/models/resnet50-19c8e357.pth’,‘resnet101’: ‘https://download.pytorch.org/models/resnet101-5d3b4d8f.pth’,‘resnet152’: ‘https://download.pytorch.org/models/resnet152-b121ed2d.pth’,"""def show_usage(cmd):print( "Usage:" )print(   "    ", cmd, " <pytorch-model-name>  <pytorch-model-filename.pth>" )def main(cmd, argv):if( len(argv) < 2 ):print( "Error! Parameter is not enough." )show_usage( cmd )exit( 1 )model_name = argv[0]input_file = argv[1]pure_path = os.path.splitext( input_file )file_name = pure_path[0]print( " model  : ",  model_name )print( " input  : ",  input_file )print( " output : ",  '{}.prototxt'.format(file_name) )print( "          ",  '{}.caffemodel'.format(file_name) )input=torch.ones([1,3,224,224])match model_name:case "resnet18":resnet_x = resnet.resnet18()case "resnet34":resnet_x = resnet.resnet34()case "resnet50":resnet_x = resnet.resnet50()case "resnet101":resnet_x = resnet.resnet101()case "resnet152":resnet_x = resnet.resnet152()case _:print( "Error! Unknown model name : ",  model_name )show_usage( cmd )exit( 2 )if( False == os.path.isfile(input_file) ):print( "Error! Cannot find input file : ", input_file )show_usage( cmd )exit( 3 )checkpoint = torch.load(input_file)resnet_x.load_state_dict(checkpoint)resnet_x.eval()pytorch_to_caffe.trans_net(resnet_x,input,model_name)pytorch_to_caffe.save_prototxt('{}.prototxt'.format(file_name))pytorch_to_caffe.save_caffemodel('{}.caffemodel'.format(file_name))if __name__ == "__main__":main(sys.argv[0], sys.argv[1:])

腳本依賴pytorch,安裝之。

pip install torch

運行中遇到 protobuf 版本過高問題,降級處理

pip install -U protobuf==3.20 

下載 resnet model文件后,執行腳本

python example\resnet_pytorch_2_caffe.py  resnet152  resnet152-b121ed2d.pth

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

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

相關文章

PDI/Kettle-9.4.0.0-343源碼下載及編譯

目錄 &#x1f351;一、概要&#x1f34a;最新版本10.x&#xff08;2023-11-30&#xff09; &#x1f351;二、下載&#x1f351;三、編譯&#x1f34a;3.1、導入開發工具&#x1f34a;3.2、開始編譯&#x1f34a;3.3、編譯報錯&#x1f34a;3.4、報錯原因&#xff1a;jdk版本低…

centos7安全防護_CPU占用率超過百分之300_centos7.4中毒CPU百分之百_清理毒源---Linux工作筆記068

執行top命令的時候看到有個進程: sshd占用cpu百分之300多...而且就算是kill -9 殺掉進程以后,進程又會自動啟動 ll /proc/7298 我們執行這個命令,可以看到有個/var/tmp/sshd的文件 我們進入cd /var/tmp 然后我們執行 rm -rf sshd刪除這個文件,然后我們再去top可以看到 cpu就…

【數倉理論】

一、數倉建模方法論 1.1 ER模型&#xff08;Entity Relationship、實體關系模型、范式模型&#xff09; ER模型是Bill Inmon提出的一種建模方法&#xff0c;實體關系模型將復雜的數據抽象為兩個概念 ---- 實體和關系 該模型在范式理論上符合3NF&#xff0c;這種模型目的是減少…

測距傳感器

測距傳感器 電子元器件百科 文章目錄 測距傳感器前言一、測距傳感器是什么二、測距傳感器的類別三、測距傳感器的應用實例四、測距傳感器的作用原理總結前言 測距傳感器廣泛應用于自動化控制、機器人導航、無人駕駛、測量儀器等領域。不同類型的測距傳感器具有不同的測距范圍、…

xtu oj 1178 Rectangle

題目描述 給你兩個平行于坐標軸的矩形&#xff0c;請判斷兩者是不是相交&#xff08;面積有重合的部分&#xff09;&#xff1f; 輸入 第一行是一個整數K&#xff0c;表示樣例數。 每個樣例占兩行&#xff0c;每行是4個整數&#xff0c;表示一個矩形的對角線點的坐標&#x…

重磅!2023中國高校計算機大賽-人工智能創意賽結果出爐

目錄 中國計算機大賽-人工智能創意賽現場C4-AI大賽頒獎及留影800個AI應用&#xff1f;這屆大學生真能“搞事情”AI原生時代&#xff0c;百度要再培養500萬大模型人才 中國計算機大賽-人工智能創意賽現場 12月8日&#xff0c;杭州&#xff0c;一位“白發老人”突然摔倒在地&…

[基礎IO]文件描述符{C庫函數\系統接口\初識fd}

文章目錄 1.基礎知識1.1對文件的認識1.2對系統調用接口的認識1.3如何理解LInux下一切皆文件? 2.C語言的庫函數2.1FILE *fopen(const char *path, const char *mode);2.2對fopen()的mode的w/a的深層認識2.3fclose()2.4size_t fwrite(const void *ptr, size_t size, size_t nmem…

測試經理主管面試題

測試專業技能 請談談您對軟件測試生命周期&#xff08;STLC&#xff09;的理解 需求分析&#xff1a;在這個階段&#xff0c;測試團隊仔細分析項目需求&#xff0c;理解產品功能和非功能需求。這有助于確定測試的范圍和目標&#xff0c;為后續階段奠定基礎。測試計劃&#xf…

【桌面應用開發】Tauri是什么?基于Rust的桌面應用

自我介紹 做一個簡單介紹&#xff0c;酒架年近48 &#xff0c;有20多年IT工作經歷&#xff0c;目前在一家500強做企業架構&#xff0e;因為工作需要&#xff0c;另外也因為興趣涉獵比較廣&#xff0c;為了自己學習建立了三個博客&#xff0c;分別是【全球IT瞭望】&#xff0c;【…

深入.NET平臺和C#編程總結大全

第一章 簡單認識.NET框架 &#xff08;1&#xff09;首先我們得知道 .NET框架具有兩個主要組件&#xff1a;公共語言進行時CLR&#xff08;Common Language Runtime&#xff09;和框架類庫FCL&#xff08;Framework Class Library&#xff09; 配圖&#xff1a; &#xff08;…

JSON

JSON指的是 JavaScript 對象表示法&#xff08;JavaScript Object Notation&#xff09; javascript對象&#xff1a;javascript中&#xff0c;除開JavaScript原始值(字符串&#xff0c;數字&#xff0c;布爾值&#xff0c;null&#xff0c;正則表達式)的都是javascript對象 JS…

Java - JVM內存區域的劃分

Java 程序運行時&#xff0c;需要在內存中分配空間。為了提高運算效率&#xff0c;就對空間進行了不同區域的劃分&#xff0c;因為每一片區域都有特定的處理數據方式和內存管理方式。 分配&#xff1a;通過關鍵字new創建對象分配內存空間&#xff0c;對象存在堆中。 釋放 &…

柔性數組詳解

前言&#xff1a;柔性數組是C99中新添加的概念&#xff0c;它是結構體里面的最后一個成員&#xff0c;因為它的大小未知&#xff0c;所以很靈活&#xff0c;稱之為柔 1 柔性數組占不占結構體的空間呢&#xff1f; 不占 typedef struct Stu {char y;int x;int arr[];//有些編譯器…

數據在內存中的存儲(整型篇)

1.辨析原碼反碼補碼&#xff1a; 1.原碼&#xff1a;有32位&#xff08;int類四個字節&#xff0c;一個字節八個比特位&#xff09;&#xff0c;第一位是符號位&#xff0c;0正1負&#xff0c;其余為二進制位。 2.計算一般是對原碼進行計算&#xff0c;但在負數計算使用原碼會導…

強化學習(二)——Dueling Network(DQN改進)

與DNQ相比&#xff0c;使用優勢函數(A函數)和狀態價值函數&#xff08;V&#xff09;代替之前的Q(動作價值)函數&#xff0c; 最核心公式為 Q ? ( s , a ) A ? ( s , a ) V ? ( s ) ? max ? a A ? ( s , a ) Q^*(s,a)A^*(s,a)V^*(s)-\max_a A^*(s,a) Q?(s,a)A?(s,a)V…

高效利用內存資源之動態內存管理詳解

目錄 一、為什么存在動態內存分配 二、動態內存函數的介紹 2.1malloc 2.2free 2.3calloc 2.4realloc 三、常見的動態內存錯誤 3.1對NULL指針的解引用操作 3.2對動態開辟空間的越界訪問 3.3對非動態開辟內存使用free釋放 3.4使用free釋放一塊動態開辟內存的一部分 3.…

Spring Boot 3 集成 Druid 連接池詳解

在現代的Java應用中&#xff0c;使用一個高效可靠的數據源是至關重要的。Druid連接池作為一款強大的數據庫連接池&#xff0c;提供了豐富的監控和管理功能&#xff0c;成為很多Java項目的首選。本文將詳細介紹如何在Spring Boot 3項目中配置數據源&#xff0c;集成Druid連接池&…

【ACM獨立出版、確定的ISBN號】第三屆密碼學、網絡安全和通信技術國際會議(CNSCT 2024)

第三屆密碼學、網絡安全和通信技術國際會議&#xff08;CNSCT 2024&#xff09; 2024 3rd International Conference on Cryptography, Network Security and Communication Technology 隨著互聯網和網絡應用的不斷發展&#xff0c;網絡安全在計算機科學中的地位越來越重要&…

Android Kotlin 泛型:強大的類型抽象和重用利器

一、什么是泛型&#xff1f; 泛型是一種參數化類型的機制&#xff0c;它允許我們在定義類、接口和方法時使用類型參數&#xff0c;從而實現代碼的重用和類型安全。通過使用泛型&#xff0c;我們可以將類型作為參數傳遞給類或方法&#xff0c;在不同的場景中實現靈活的類型適配…

精選:免費且高效的郵件營銷軟件推薦

好用的郵件營銷軟件可以幫助企業獲取客戶、維系客戶關系。對于有想做郵件營銷想法&#xff0c;但是想先試試的企業來講&#xff0c;免費版郵件營銷軟件就是個不錯的選擇。當然&#xff0c;免費的郵件郵件營銷軟件雖然在價格上有極大的優勢&#xff0c;但是功能上會有各種限制。…