我已经加载了经过预训练的ResNet(请参见下面的代码),并希望复制作者写过的论文:
然后,我们将conv5 bank的第一卷积层的步幅从2 px减小到1 px,以防止下采样。接下来,我们在conv5中的所有3x3卷积中添加孔,以保留其接收场。这样可以将整个CNN的步幅减小到16像素。 DeeperCut: A Deeper, Stronger, and Faster Multi-Person Pose Estimation Model
使用预训练的ResNet是否有可能,如果在keras中如何完成?
我当前的代码:
base_model = ResNet50(include_top=False, weights='imagenet')
x = base_model.output
x = Conv2DTranspose(1, kernel_size=[3, 3], strides=2, kernel_regularizer=l2(0.0001))(x)
pred = Conv2DTranspose(1, kernel_size=[3, 3], strides=2, kernel_regularizer=l2(0.0001))(x)
model = Model(inputs=base_model.input, outputs=pred)
for layer in base_model.layers:
layer.trainable = False
model.compile(optimizer='adam', loss='categorical_crossentropy')
如何在这里修改conv5银行?还是我必须为此训练一个全新的网络?