首页 > 解决方案 > caffe 模型中的形状大小不规则

问题描述

当我尝试像这样在 caffe 中制作自己的模型时:

n.data = L.Input(input_param={'shape':{'dim':[1,1,64,64]}})
n.conv1 = L.Convolution(n.data, kernel_size=5,
                    num_output=16, pad=1, weight_filler=dict(type='xavier'))
n.elu1 = L.ELU(n.conv1, in_place=True)
n.scale1 = L.Scale(n.elu1, bias_term=False, in_place=True)

我得到了 62x62x16 的输出形状,但正确的做法是获得 64x64x16 之一,我的代码有错误吗?

标签: conv-neural-networkcaffelayershapespycaffe

解决方案


output_size 为 ((Input_size+2(padding)-kernel_size)/Stride)+1

Input_size 是 64 , kernel_size 是 5, padding 是 1

所以 ((64+2-5)/1)+1 = 62

您需要更改填充或内核大小。


推荐阅读