Я пытаюсь сделать CNE AutoEncoder, используя TensorFlow.
Вот мой код:
input_img = Input(shape=(288, 512, 3))
x = Conv2D(16, (3, 3), activation='relu', padding='same')(input_img)
x = MaxPooling2D((2, 2), padding='same')(x)
x = Conv2D(8, (3, 3), activation='relu', padding='same')(x)
x = MaxPooling2D((2, 2), padding='same')(x)
x = Conv2D(8, (3, 3), activation='relu', padding='same')(x)
encoded = MaxPooling2D((2, 2), padding='same')(x)
x = Conv2D(8, (3, 3), activation='relu', padding='same')(encoded)
x = UpSampling2D((2, 2))(x)
x = Conv2D(8, (3, 3), activation='relu', padding='same')(x)
x = UpSampling2D((2, 2))(x)
x = Conv2D(16, (3, 3), activation='relu')(x)
x = UpSampling2D((2, 2))(x)
decoded = Conv2D(3, (3, 3), activation='sigmoid', padding='same')(x)
print(f'{decoded.shape} vs {x_train[0].shape}')
Я ожидаю, что выходная форма будет (288, 512, 3), но я получаю (Нет, 284, 508, 3).
Я пытался настроить некоторые параметры, но я не уверен, почему я получаю эти размеры или что мне нужно настроить, чтобы получить ожидаемые размеры.
Любая помощь будет принята с благодарностью.