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
- 使用mmdnn將MXNET轉成Tensorflow模型DNN模型
- Mxnet模型檔案轉換為Pb模型檔案模型
- MxNet預訓練模型到Pytorch模型的轉換模型PyTorch
- Mxnet模型轉化為ncnn模型,並驗證轉化正確性模型CNN
- TensorFlow和Caffe、MXNet、Keras等深度學習框架的對比Keras深度學習框架
- 深度學習框架跑分測驗(TensorFlow/Caffe/MXNet/Keras/PyTorch)深度學習框架KerasPyTorch
- insightface之mxnet model轉caffemodel
- 快速入門MXBoard:MXNet資料視覺化工具視覺化
- 深度框架 MXNet/Gluon 初體驗框架
- MXNet: wait_to_read 方法AI
- MXNET:多層神經網路神經網路
- 使用Mxnet基於skip-gram模型實現word2vect模型
- mxnet資料格式轉換為tensorflow,pytorch資料PyTorch
- 從VGG到ResNet,你想要的MXNet預訓練模型輕鬆學模型
- Mxnet R FCN 訓練自己的資料集
- 深度學習(五十九)mxnet移植至android深度學習Android
- Mxnet-R-FCN-訓練自己的資料集
- (ML with go) 分享一個mxnet環境搭建的dockerfileGoDocker
- 亞馬遜挑中MXNet後,機器之心和他們聊了聊亞馬遜
- AWS上使用MXNet進行分散式深度學習分散式深度學習
- MXNet的資料格式轉化為tensorflow訓練用的資料格式
- 雲上深度學習實踐分享——雲上MXNet實踐深度學習
- Mxnet速查_CPU和GPU的mnist預測訓練_模型匯出_模型匯入再預測_匯出onnx並預測GPU模型
- opencv呼叫caffe模型OpenCV模型
- caffe學習(1)caffe模型三種結構模型
- 從PyTorch到Mxnet ,對比7大Python深度學習框架PyTorchPython深度學習框架
- 圖森未來開源:Mask R-CNN的完整MXNet復現CNN
- 伯克利AI分散式框架Ray,相容TensorFlow、PyTorch與MXNetAI分散式框架PyTorch
- 飛槳上線萬能轉換小工具,教你玩轉TensorFlow、Caffe等模型遷移模型
- Caffe訓練模型時core dump模型
- 基於MXNET框架的線性迴歸從零實現(房價預測為例)框架
- 亞馬遜詳解如何使用MXNet在樹莓派上搭建實時目標識別系統亞馬遜樹莓派
- 從三大神經網路,測試對比TensorFlow、MXNet、CNTK、Theano四個框架神經網路框架
- 手把手教你如何將 yolov3/yolov4 轉為 caffe 模型YOLO模型
- MXNet 0.11釋出,加入動態圖介面Gluon,還有兩位CMU教授的親筆教程
- 手把手 | Apache MXNet助力數字營銷,檢測社交網路照片中的商標品牌Apache
- CVPR 2017李沐介紹MXNet新介面Gluon:高效支援命令式與符號式程式設計符號程式設計