我正在尝试使用 caffe 从 VGG 网络中提取卷积层而不是 FC 层的特征。在这种情况下,理论输入图像大小可能是任意的。但似乎 VGG 网络是在裁剪为 224x224 像素大小的图像上训练的。所以我在 deploy.prototext 中定义了一个输入数据层:
layers{
name: "data"
type: MEMORY_DATA
top: "data"
top: "label"
transform_param{
mirror: false
crop_size:224
mean_value:129.1863
mean_value:104.7624
mean_value:93.5940
}
memory_data_param{
batch_size:1
channels:3
width:224
height:224
}
}
我试图修改 width = 500\height = 500\crop_size = 500 但失败了。Caffe 报错:“Cannot copy param 0 weights from layer 'fc6'; 形状不匹配。源参数形状为 1 1 4096 25088 (102760448);目标参数形状是 4096 131072 (536870912)。要从头开始学习该层的参数,而不是从保存的网络中复制,请重命名该层。”</p>
我怎么可能在对输入层来说太大的图像上运行而不进行裁剪?