Caffe BN层合并
非常感谢博主小麦草的技术支持!
----------------------------------------------------------------------------------------------------
1. 合并方式
https://blog.****.net/kangdi7547/article/details/81348254,参考博客
使用python-caffe进行合并
参考博客方式转换类似resnet模型。
因为conv->bn->scale->prelu这几层,特征维度是不变的,所以首先要将这几层做一个”in-place”操作,即将这几层的bottom、top改名为相同的,如下图:
可视化图为:
另外,模型中还有很多的bn+scale层不能合并的,因为其位于Eltwise后,上面没有卷积层,这些只能暂时保留。
2. 实验验证
结果准确度:经过将实验图片进行打印,合并BN层以后的结果输出和未合并之前的完全一致。
速度提升:
本 地 —— i7,NVIDIA RTX-2060,112*112的人脸图像,特征提取时间大概从16ms下降到13ms,即速度提升大概有20%。