Ich mache cross_modality_pretrain in keras. I verwenden InceptionResNetv2 vortrainierte Modell, und erhalten Gewichte von conv2d_1, die Form (3 3 3 32) (Höhe, Breite, Kanäle, Ausgänge)Wie cross_modality_protrained in Keras: verschiedene Formgewichte setzen
model_base = InceptionResNetV2(include_top=False, weights='imagenet')
weight = model_base.get_weights()
weight_conv2d_1 = weight[0]
weight_conv2d_1 = np.mean(weight_conv2d_1, axis=2, keepdims=True)
ich ihn ändern zu (3 3 20 32)
for i in range(20):
if i == 0:
weight_change = np.concatenate((weight_conv2d_1,), axis=2)
else:
weight_change = np.concatenate((weight_change, weight_conv2d_1), axis=2)
Nun möchte ich das neue Gewicht setzen,
weight[0] = weight_change
model_base.set_weights(weight)
Aber ich bekomme Fehler:
ValueError: Cannot feed value of shape (3, 3, 10, 32) for Tensor u'Placeholder:0', which has shape '(3, 3, 3, 32)'
Wie kann ich es lösen? Vielen Dank!