Caffe轉mxnet模型——mxnet工具
轉換步驟
參考連結:
Mxnet學習系列4----Caffe模型轉換成Mxnet模型
Windows環境下轉換工具的使用基本和這個部落格說明相同,過程總結為:
1、下載mxnet原始碼(使用mxnet/tools/caffe_ converter資料夾下相關工具)
2、安裝protobuf,是否安裝及安裝版本號可以看使用的python目錄下Lib/site-packages/protobuf-xxx的情況。(如圖可知版本為3.4.0,python版本為3.5)
3、下載protobuf complier,在https://github.com/google/protobuf/releases中找到相應版本(如2為protoc-3.4.0-win32.zip),下載解壓後新增bin到環境變數(因為裡面就一個exe檔案,我直接把它放到mxnet的caffe_ converter下,可以正常使用)
4、雙擊caffe_ converter下的make_win32.bat,出現"done."命令視窗,即成功完成。
5、使用,在命令列視窗中cd到convert_model.py的路徑下,執行命令:
python convert_model.py prototxt caffemodel outputprefix
如
python convert_model.py det1.prototxt det1.caffemodel det1
相關補充
Mxnet學習系列4----Caffe模型轉換成Mxnet模型中有介紹遇到一些問題的解決辦法。
如果出現某些層無法識別,可以嘗試使用Caffe模型移植到MXNet提到的辦法,找到mxnet中實現方法,並在convert_symbol.py進行補充。
更多的轉換工具可以通過github上ysh329/deep-learning-model-convertor進行查閱。
其它問題
1、我在轉換模型的時候遇到“TypeError: Expected a list of symbols as input”的問題,通過執行convert_symbol.py發現該轉換工具是對caffe模型中層出現的次數進行統計,找到只bottom和top中只出現1次的層作為輸出介面,因此當遇到輸出層接relu層,並且其輸出還是原輸入層,可能導致以上問題。
一種修改方法為對.prototxt的bottom和top進行修改,使top為name值,下一層的bottom為上層name值;同時修改.caffemodel,在層的命名上是可見的;修改後儲存,並使用python讀取caffemodel檔案的方法對比生成的檔案是否符合要求,然後使用工具進行轉換。
https://github.com/apache/incubator-mxnet/issues/3970
2、模型轉換後會出現類似“prob_label”的層,裡面沒有任何內容,如果使用mx.model.FeedForward.load載入模型能正常載入,如果是mx.model.load_checkpoint可能出現“RuntimeError: prob_label is not presented”之類的錯誤,解決辦法是新增一句arg_params[‘prob_label’] = mx.nd.array([0])。
知乎-mxnet下mtcnn人臉檢測c++版本的實現(3)
3、當有多個輸出資料時,出現一個輸出正確一個輸出錯誤,後來在網上查到caffe在轉mxnet模型時本來應轉換成SoftmaxActivation的softmax layer,轉換成了SoftmaxOutput,修改方法是json中新增"multi_output": "1"的屬性。
相關文章
- Caffe轉mxnet模型——mmdnn模型DNN
- MXnet轉caffe
- 使用mmdnn將MXNET轉成Tensorflow模型DNN模型
- MxNet預訓練模型到Pytorch模型的轉換模型PyTorch
- Mxnet模型檔案轉換為Pb模型檔案模型
- insightface之mxnet model轉caffemodel
- Mxnet模型轉化為ncnn模型,並驗證轉化正確性模型CNN
- MXNet: Barrier
- MXNet: wait_to_read 方法AI
- mxnet資料格式轉換為tensorflow,pytorch資料PyTorch
- 快速入門MXBoard:MXNet資料視覺化工具視覺化
- 深度框架 MXNet/Gluon 初體驗框架
- MXNET:多層神經網路神經網路
- 使用Mxnet基於skip-gram模型實現word2vect模型
- 從VGG到ResNet,你想要的MXNet預訓練模型輕鬆學模型
- Mxnet R FCN 訓練自己的資料集
- MXNet的資料格式轉化為tensorflow訓練用的資料格式
- Mxnet-R-FCN-訓練自己的資料集
- 雲上深度學習實踐分享——雲上MXNet實踐深度學習
- 飛槳上線萬能轉換小工具,教你玩轉TensorFlow、Caffe等模型遷移模型
- Mxnet速查_CPU和GPU的mnist預測訓練_模型匯出_模型匯入再預測_匯出onnx並預測GPU模型
- opencv呼叫caffe模型OpenCV模型
- 基於MXNET框架的線性迴歸從零實現(房價預測為例)框架
- MXNet 0.11釋出,加入動態圖介面Gluon,還有兩位CMU教授的親筆教程
- 手把手教你如何將 yolov3/yolov4 轉為 caffe 模型YOLO模型
- 手把手 | Apache MXNet助力數字營銷,檢測社交網路照片中的商標品牌Apache
- 【蜂口 | AI人工智慧】caffe模型訓練——龍鵬的一站式caffe工程實踐連載(七)AI人工智慧模型
- 【Caffe篇】--Caffe solver層從初始到應用
- (14)caffe總結之Linux下Caffe如何除錯Linux除錯
- caffe make 編譯編譯
- ATC:一個能將主流開源框架模型轉換為昇騰模型的神奇工具框架模型
- 【Caffe篇】--Caffe從入門到初始及各層介紹
- 【caffe2從頭學】:2.學習caffe2
- 飛槳萬能轉換小工具X2Paddle,教你玩轉模型遷移模型
- (12)caffe總結之影像資料轉換成db(leveldb/lmdb)檔案
- 【模型推理】Tengine 模型轉換及量化模型
- pytorch模型(.pt)轉onnx模型(.onnx)的方法PyTorch模型
- Ubuntu 16 04 編譯 Caffe SSDUbuntu編譯