Я буду очень признателен, если кто-нибудь сможет мне помочь ... Я работал над этим несколько дней и смогу заставить его работать ...
вот ссылка, если кто-то хочет увидеть полнуюcode.
https://github.com/TheStoneMX/APTOS-2019/blob/master/notebooks/keras-multi-model-input-image-cropping-Copy2.ipynb
def create_base_model(MODEL, img_size, lambda_fun = None):
inp = Input(shape = (img_size[0], img_size[1], 3))
x = inp
if lambda_fun:
x = Lambda(lambda_fun)(x)
base_model = MODEL(input_tensor = x, weights = 'imagenet', include_top = False, pooling = 'avg')
model = Model(inp, base_model.output)
return model
model1 = create_base_model(vgg16.VGG16, (224, 224), vgg16.preprocess_input)
model2 = create_base_model(resnet50.ResNet50, (224, 224), resnet50.preprocess_input)
model3 = create_base_model(inception_v3.InceptionV3, (299, 299), inception_v3.preprocess_input)
model1.trainable = False
model2.trainable = False
model3.trainable = False
inpA = Input(shape = (224, 224, 3))
inpB = Input(shape = (299, 299, 3))
out1 = model1(inpA)
out2 = model2(inpA)
out3 = model3(inpB)
x = Concatenate()([out1, out2, out3])
x = Dropout(0.2)(x)
x = Dense(1, activation='sigmoid')(x)
model = Model([inpA, inpB], x)
opt = keras.optimizers.Adam(lr=2e-4)
history = model.fit_generator(
train_generator,
epochs = 5,
steps_per_epoch = train_num // batch_size,
validation_data = validation_generator,
validation_steps = validation_num // batch_size,
verbose = 1,
callbacks = [mc, es])
ValueError: Ошибка при проверке цели: ожидается, что плотность_5 имеет форму (1,), но получен массив с формой (0,)