Caffe轉NCNN模型轉換


caffe2ncnn

一、准備工作

安裝opencv

安裝protobuf

下載ncnn源碼並編譯

git clone https://github.com/Tencent/ncnn

cd ncnn

mkdir build && cd build

cmake ..

make -j4

make install

二、具體操作

(1)、如果是舊版Caffe模型,需要在Caffe環境中轉換為新版Caffe模型;

 ~/caffe/build/tools/upgrade_net_proto_text deploy.prototxt new_deplpy.prototxt

 ~/caffe/build/tools/upgrade_net_proto_binary bvlc_alexnet.caffemodel new_bvlc_alexnet.caffemodel

 執行后,即可生成一個新版的Cafffe模型;

(2)、編譯NCNN源碼,編譯成功后,會在源碼中生成一個build文件夾;

(3)、終端進入ncnn/build/tools/caffe目錄下,會發現生成一個caffe2ncnn的可執行文件。

(4)、執行如下命令:(caffe文件名和生成的ncnn文件名需要自己設置)

./caffe2ncnn new_deploy.prototxt new.caffemodel demo.param demo.bin

執行完成之后在ncnn/build/tools/caffe下就可以看到生成的param和bin文件了。

三、轉換后模型驗證

驗證思路:

1、對caffe和ncnn進行相同的預處理,使結果保持一致,例如指定圖片的大小、將HWC通道轉換為CHW、減均值、歸一化處理等操作;

2、輸入一張圖片,使用Resnet50 Caffe模型運行,得出結果;

進入caffe/build/examples文件下執行resnet50的可執行文件,輸入圖片,得到預測值的索引和概率的結果

3、同樣地,輸入同張圖片,使用Resnet50 NCNN模型運行,得出結果;

進入ncnn/build/examples文件下執行resnet的可執行文件,輸入圖片,得到預測值的索引和概率的結果

4、將兩個得出的結果進行比較,觀察是否大致相同。如果結果大致相同,則模型轉換成功;如果結果差距較大,則模型轉換失敗。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM