SE-Resnet踩过的坑

最近项目没什么事情,导师又让写论文,所以开始跑实验,争取研一下学期发篇小论文吧。

在跑SE-Resnet的时候,会要自己在caffe的源码中添加一个新的层,叫Axpy,将avg pooling及scale等操作一起封装的一个type.

从github上下载了源码之后:

添加的过程很简单,将.hpp,.cpp,.cu文件分别放入到对应的文件夹,在caffe.proto文件中加上想对应的message param.注意添加的ID不能重复。 

但我踩的坑是:我是直接将文件放入到我目录文件夹里的,然后打开caffe.sln项目解决方案,我幼稚的疑问,vs在打开整个解决方案的时候会将我刚放入的新的文件都是加载出来,然后生成解决方案,但是NO,好蠢。切记啊是在vs界面添加程序。

就这样,成功了。

但是网络方面还有一个问题,就是目前博客上没有人提,很多人跑resnet,会遇到不收敛的情况,那是你一定要注意你的BN层,use_global_stats: 一定要设为false(训练阶段),还有为你的conv层的权重添加初始化。对比一下msra和axvier的区别,经验是你的activation如果用的sigmoid,那么对应用msra更好。

 


版权声明:本文为xuyunyunaixuexi原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。