Caffe轉mxnet模型——mmdnn

永恆_一瞬發表於2018-12-21

github
支援情況
  mmdnn支援的模型轉換型別最多,它先是將模型轉換到IR,再轉換到目標框架。

轉換原理

轉換步驟

  1、確保環境安裝,如mxnet和caffe,由於caffe停止更新,目前很難找到cuda9的安裝方法,因此安裝cpu版本僅用於模型轉換。參考方法:
  windows10+python3.5下同時安裝caffe和tensorflow
  如果是使用python2.7或者作者依賴庫有更新,可以嘗試
  Caffe+Visual Studio 2015編譯可以有多簡單?
  或者是使用anaconda的話,也可以參考
  windows平臺下安裝利用python3.5安裝caffe

  2、安裝mmdnn

pip3 install mmdnn

  3、使用,以caffe轉mxnet為例

  先將caffe轉換為ir

python -m mmdnn.conversion._script.convertToIR -f caffe -d 0temp_convert -n det1.prototxt --inputShape 3,12,12 -w det1.caffemodel

  其中inputShape是輸入尺寸,0temp_convert是ir模型(npy、json、pb的名字),然後再轉mxnet

mmtocode -f mxnet --IRModelPath 0temp_convert.pb --dstModelPath 0temp_convert.py --IRWeightPath 0temp_convert.npy -dw det1-0000.params
python -m mmdnn.conversion.examples.mxnet.imagenet_test -n 0temp_convert.py -w det1-0000.params --dump det1

  第一行得到param檔案,第二行得到json檔案,由此得到全部mxnet模型,轉換後刪除中間處理檔案(0temp_convert.pb、0temp_convert.py、0temp_convert.npy、0temp_convert.json)

  

  

相關文章