我已经在 imagenet 数据集上预训练了 CNN(RESNET18),现在我想要的是从特定层获取输入图像的输出,
例如。
我的输入图像是,FloatTensor(3, 224, 336)
我在我的 resnet 模型中发送了一批size = 10
,现在我想要的是 model.layer4 返回的输出,
现在我尝试的是out = model.layer4(Variable(input))
,但它给了我输入尺寸不匹配错误(如预期),这是返回的确切错误
RuntimeError:需要输入维度 4 和 input.size[1] == 64,但输入的形状为:[10 x 3 x 224 x 336],位于 /Users/soumith/miniconda2/conda-bld/pytorch_1501999754274/work/火炬/lib/THNN/generic/SpatialConvolutionMM.c:47
所以我很困惑,现在如何继续获得我的 layer4 输出
PS:我的最终任务是将layer4输出和全连接层输出结合在一起(CNN中的Tweeking,一种门控CNN),所以如果有人对这种情况有任何见解,请告诉我,也许我的上述方法不正确