如何取代喀拉拉邦的预训练神经网络的前几层?

时间:2019-01-08 17:37:54

标签: python keras deep-learning conv-neural-network

我正在尝试使用keras中可用的MobileNet模型。但是我的输入图像有5个通道(而不是MobileNet模型支持的3个通道)。我试图替换现有的Input层和第一个卷积操作,以保持模型的一致性并利用预训练的权重。

我尝试弹出MobileNet的前三层,并用自定义层替换它们,但这是行不通的。

model = MobileNet(include_top=False, pooling='avg')
model.layers.pop(0)
model.layers.pop(0)
model.layers.pop(0)

inp = Input(shape=(None,None,5))
conv = Conv2D(32,1,strides=(2,2))(inp)

model = model(conv)

model.summary()

我已经尝试过类似上述的操作,但是它却把我扔了

ValueError: number of input channels does not match corresponding dimension of filter, 
32 != 3

如果有人能指出我正确的方向,我将不胜感激。

0 个答案:

没有答案