1. 程式人生 > >caffe轉caffe2踩坑經驗分享

caffe轉caffe2踩坑經驗分享

caffe2的釋出,其優點有:1支援大規模分散式計算;2.支援移動部署,,,,等原因,而且據說caffe2的執行速度相對於caffe速度會快很多,所以因為一些業務需要嘗試將caffe轉caffe2,在轉的過程中遇到很多坑,現分享一下自己成功轉換的步驟,希望能幫到您


首先安裝好caffe2,相關安裝教程請參考官方文件:https://caffe2.ai/docs/getting-started.html?platform=mac&configuration=compile

要注意如果使用的是虛擬環境或者其他,需要把改caffe2安裝在對應的環境下。

安裝好之後就可以開始轉換之旅啦。

1.在命令列中啟用自己python執行的環境,本小白使用的是pycharm,並將caffe2安裝在對應的虛擬環境下。

本人虛擬環境為

啟用虛擬環境:source tensorflow_pycharm/bin/activate

2.caffe轉caffe2我是參考的官方說明:https://caffe2.ai/docs/caffe-migration.html

2.1. 配置需轉換的caffe檔案,具體為在自己的工程中的caffe資料夾中的models資料夾中新建一個以你需要轉換的模型的名字命名的資料夾,然後把你的模型和對應的引數檔案放在改資料夾下。(.prototxt和.caffemodel)

有沒有配置對可以使用官方提供的測試程式碼:https://github.com/caffe2/caffe2/blob/master/caffe2/python/tutorials/Getting_Caffe1_Models_for_Translation.ipynb

2.2. 在命令列中指定路徑到你剛才新建的這個資料夾

我的是放在untitled/caffe/models/resnet20_lipsync下,所以在命令列下輸入:cd untitled/caffe/models/resnet50_lipsync

3.開始轉換吧:

在命令列下輸入:python -m caffe2.python.caffe_translator deploy.prototxt pretrained.caffemodel(注意把其中的pretrained換成你需要轉的caffe模型名),我的示例:

python -m caffe2.python.caffe_translator deploy.prototxt resnet50_lipsync.caffemodel

經過上面的折騰就搞好了,可以發現在你新建的資料夾下除了之前的兩個caffe模型和對應引數檔案外還多了兩個.pb文件。這個檔案的命名和路徑修改可以修改caffe_translator原始碼695和696行實現。

至此caffe轉caffe2就搞定了,如果你遇到了什麼問題歡迎和我交流分享,祝大家工作順利,學業有成。