Я пытаюсь использовать сеть ResNet50 Pretrained для проблемы сегментации.Я удаляю последний слой и добавляю желаемый слой.Но когда я пытаюсь соответствовать, я получаю следующую ошибку:
ValueError: Ошибка при проверке цели: ожидалось, что conv2d_1 будет иметь форму (16, 16, 1), но получил массив с формой (512, 512, 1)
У меня есть две папки: изображения и маски.изображения RGB и маски в оттенках серого.Форма 512x512 для всех изображений.Я не могу понять, в какой части я делаю неправильно.
Любая помощь будет оценена.
from keras.applications.resnet50 import ResNet50
image_input=Input(shape=(512, 512, 3))
model = ResNet50(input_tensor=image_input,weights='imagenet',include_top=False)
x = model.output
x = Conv2D(1, (1,1), padding="same", activation="sigmoid")(x)
model = Model(inputs=model.input, outputs=x)
model.summary()
conv2d_1 (Conv2D) (None, 16, 16, 1) 2049 activation_49[0][0]
for layer in model.layers[:-1]:
layer.trainable = False
for layer in model.layers[-1:]:
layer.trainable = True
model.compile(optimizer=Adam(), loss='binary_crossentropy', metrics=['accuracy'])