In Полностью сверточные сети для семантической сегментации авторы пишут:
Полностью сверточные версии существующих сетей предсказывают плотные выходные данные из входов произвольного размера.
Я не вижу, как модель Keras может поддерживать изображения произвольного размера.
from keras import models
from keras import layers
input_image = layers.Input(shape=(None, None, 1))
b = layers.Conv2D(32, (3,3), activation='relu')(input_image)
b = layers.MaxPooling2D((2,2))(b)
b = layers.Conv2D(64, (3,3), activation='relu')(b)
b_out = layers.MaxPooling2D((2,2))(b)
flattened_out = layers.Flatten()(b_out)
output = layers.Dense(10*10, activation='sigmoid')(flattened_out)
output = layers.Reshape((10,10))(output)
Также, когда я смотрю на другую реализацию FCN на github, такую как эта Я вижу, что они указывают конкретный размер ввода:
fcn_vgg16 = FCN(input_shape=(500, 500, 3), classes=21,
weights='imagenet', trainable_encoder=True)
Может кто-топомочь мне построить простую FCN в Керасе?