Я надеюсь, что кто-то может помочь мне решить эту проблему, я работал над этим несколько дней и не могу понять, что это такое.
вот ссылка на полный код.
base_model = ResNet50(weights='imagenet', include_top=False)
input_1 = Input(shape=(256, 256, 3))
input_2 = Input(shape=(256, 256, 3))
for x in base_model.layers[:-3]:
x.trainable = True
x1 = base_model(input_1)
x2 = base_model(input_2)
# x1_ = Reshape(target_shape=(7*7, 2048))(x1)
# x2_ = Reshape(target_shape=(7*7, 2048))(x2)
# #
# x_dot = Dot(axes=[2, 2], normalize=True)([x1_, x2_])
# x_dot = Flatten()(x_dot)
x1 = Concatenate(axis=-1)([GlobalMaxPool2D()(x1), GlobalAvgPool2D()(x1)])
x2 = Concatenate(axis=-1)([GlobalMaxPool2D()(x2), GlobalAvgPool2D()(x2)])
x3 = Subtract()([x1, x2])
x3 = Multiply()([x3, x3])
x1_ = Multiply()([x1, x1])
x2_ = Multiply()([x2, x2])
x4 = Subtract()([x1_, x2_])
x = Concatenate(axis=-1)([x4, x3])
x = Dense(100, activation="relu")(x)
x = Dropout(0.01)(x)
out = Dense(5, activation="sigmoid")(x)
model = Model([input_1, input_2], out)
# x_train, x_val, y_train, y_val
h = model.fit_generator( aug.flow([x_train, x_train],y_train, batch_size = 32),
validation_data = ([y_train, y_train], y_val ),
epochs = 5,
verbose=1,
steps_per_epoch = len(x_train) // BATCH_SIZE,
generator = ([train_generator, train_generator]),
callbacks = callback_list)
TypeError: len() of unsized object
Ссылка на полный блокнот
https://github.com/TheStoneMX/APTOS-2019/blob/master/notebooks/02_resnet50-keras-image-cropping-Copy1.ipynb
Спасибо!