我正在尝试在Keras中构建自动编码器,输入形状为(470,470,3),但是即使我尝试切换填充,输出也似乎不匹配。这是我的代码,请您帮忙吗?目前,模型摘要的编写方式显示的输出为(472,472,3)。
from tensorflow.keras.layers import Conv2D, MaxPooling2D, UpSampling2D
from tensorflow.keras import Input, Model
input_image = Input(shape=(470, 470, 3))
x = Conv2D(32, (3, 3), activation='relu', padding='same')(input_image)
x = MaxPooling2D((2, 2), padding='same')(x)
x = Conv2D(32, (3, 3), activation='relu', padding='same')(x)
encoded = MaxPooling2D((2, 2), padding='same')(x)
x = Conv2D(32, (3, 3), activation='relu', padding='same')(encoded)
x = UpSampling2D((2, 2))(x)
x = Conv2D(32, (3, 3), activation='relu', padding='same')(x)
x = UpSampling2D((2, 2))(x)
decoded_image = Conv2D(3, (3, 3), activation='sigmoid', padding='same')(x)
autoencoder = Model(input_image, decoded_image)
autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy')
谢谢!
将您的最后一个填充更改为'valid'
:
decoded_image = Conv2D(3, (3, 3), activation='sigmoid', padding='valid')(x)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句