天天看點

caffe訓練:shufflenet和mobilenet層定義和加速

以下是最近做項目時用到的,親測有效。

1、ShuffleNet

層定義:https://github.com/farmingyard/ShuffleNet

預訓練模型:https://pan.baidu.com/s/1eS8NOm2,提取碼:bcj6

(1)将cpp 和cu檔案複制到caffe/src/caffe/layers目錄下,将hpp檔案複制到caffe/include/caffe/layers/目錄下, 

(2)修改在caffe/src/caffe/proto目錄下的caffe.proto檔案

message LayerParameter {

...

optional ShuffleChannelParameter shuffle_channel_param = 164;

...

}

...

message ShuffleChannelParameter {

  optional uint32 group = 1[default = 1]; // The number of group

}

(3)編譯caffe 

cd caffe_ROOT 

make all -j8

shufflenetv1和v2都有的版本:

https://github.com/miaow1988/ShuffleNet_V2_pytorch_caffe/releases

2、MobileNet

層定義:https://github.com/farmingyard/caffe-mobilenet

(1)将cpp 和cu檔案複制到caffe/src/caffe/layers目錄下,将hpp檔案複制到caffe/include/caffe/layers/目錄下, 

(2)編譯caffe 

cd caffe_ROOT 

make all -j8 

(3)替換相應的層的名字

參考博文:https://blog.csdn.net/fengzhongluoleidehua/article/details/80797660