caffe中有把fc层转化为conv层的,其实怎么看参数都是不变的,对alex模型来说,第一个fc层的参数是4096X9216,而conv的维度是4096x256x6x6,因此参数个数是不变的,只是需要把fc的参数存储方法改变成conv 的。
在caffe的官方网站:http://nbviewer.ipython.org/github/BVLC/caffe/blob/master/examples/net_surgery.ipynb
有说明怎么转换。首先将原模型加载进来fc_param,然后把全conv的配置文件和模型加载conv_param,然后将fc_param进行flat并赋值给conv_param,当然在flat时会按照conv_param的格式进行赋值。然后我们就完成了全conv的模型生成,此时再把模型保存下来,就完成了模型转换为全conv的模型的过程。
然后在我们使用full conv模型时,只要加载就可以了。
时间: 2024-09-30 07:37:57