。。。。想起来在埋吧。2018.03.01.。。。。。
好,这个三两天开始填坑,稍等。2018.6.01
好的,再等两天,上面那句话不算。呵呵哒。2018.6.27
好的,今天更。哎,看着自己这拖延症,有时候睡觉的时候想抽自己两嘴巴子。在caffe里,我们在prototxt里定义层结构的时候,涉及到参数的初始化问题总是随口一提什么高斯等等。那么,问题来了,参数的初始化对结果有影响么?不饶圈子,回答,有。但是呢,如果现有的各种初始化方法对性能的影响差异不大,几乎可以忽略,那么问题来了,都差不多你搞毛自定义的初始化参数。哼哼,不告诉你。
言归正传,写步骤:
第一步,在/include/caffe/filler.hpp里,定义子类,模仿其他的初始化类别定义方式写。大概是这个样子,比如我们要定义的参数化的名字是Woshuai,那么类似下面:
template <typename Dtype>
class WoshuaiFiller:public Filler<Dtype>{
下面自己写。
}
第二步:在/include/caffe/filler.hpp里的最下方声明参数初始化类型:
模仿其他参数化的形式,代码:
类似于:
......
}else if (type == "woshuai"){
return new WoshuaiFiller<Dtype>(param);
}
重新编译caffe,然后,哼哼哼,大功告成。