Neural network Caffe:vgg网络的可变输入图像大小

Neural network Caffe:vgg网络的可变输入图像大小,neural-network,deep-learning,computer-vision,caffe,vgg-net,Neural Network,Deep Learning,Computer Vision,Caffe,Vgg Net,我尝试使用caffe从VGG网络中提取卷积层而不是FC层的特征。在这种情况下,理论输入图像大小可能是任意的。但据了解,VGG网络是在裁剪成224x224像素大小的图像上进行训练的。因此,我在deploy.prototext中定义了一个输入数据层: layers{ name: "data" type: MEMORY_DATA top: "data" top: "label" transform_param{ mirror: false crop_size:224

我尝试使用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
  }
}

我试图修改宽度=500\height=500\crop\u size=500,但失败了。Caffe抛出了一些错误:“无法从层“fc6”复制参数0权重;形状不匹配。源参数形状为1 1 4096 25088(102760448);目标参数形状为4096 131072(536870912)。若要从头学习此层的参数,而不是从保存的网络复制,请重命名该层。”


我怎么可能在输入层太大的图像上运行而不进行裁剪?

您应该首先将图像大小调整为224x224,因为VGG是根据该分辨率进行训练的。以更高的分辨率提取特征是没有意义的。
对于大小调整和裁剪,您可以使用我的专用图像数据层:

您应该首先将图像大小调整为224x224,因为VGG是根据该分辨率进行训练的。以更高的分辨率提取特征是没有意义的。
对于大小调整和裁剪,您可以使用我的专用ImageData层:

或者您对图像使用完全相同的大小,或者您对密集层进行重新训练以获得新的图像大小


您可以重复使用卷积核,但不能对不同的图像大小重复使用密集层。

或者为图像使用完全相同的大小,或者为新的图像大小重新训练密集层


您可以重复使用卷积核,但不能为不同的图像大小重复使用密集层。

请发布准确的错误。无法从层“fc6”复制参数0权重;形状不匹配。震源参数形状为1409625088(102760448);目标参数形状为4096131072(536870912)。若要从头开始学习该层的参数,而不是从保存的网络复制,请重命名该层。@Shai请帮助!请发布准确的错误。无法从层“fc6”复制参数0权重;形状不匹配。震源参数形状为1409625088(102760448);目标参数形状为4096131072(536870912)。若要从头开始学习该层的参数,而不是从保存的网络复制,请重命名该层。@Shai请帮助!