gpt4 book ai didi

python - Keras Conv2D 解码器

转载 作者:行者123 更新时间:2023-11-30 09:39:35 30 4
gpt4 key购买 nike

我正在处理不同尺寸(x,y)的图像。当在 MaxPooling2D 之后使用 UpSampling2D 时,它不能很好地重建它,因为 x-dim 不等于 y-dim。当 x=y (例如 28x28)时它有效,但在我的情况下(388x45)。我怎么解决这个问题。

input_img = Input(shape=(388, 45, 1))  

x = Conv2D(32, (3, 3), activation='relu', padding='same')(input_img)
x = MaxPooling2D((2, 2), padding='same')(x)

x = UpSampling2D((2, 2))(x)
x = Conv2D(1, (3, 3), activation='sigmoid', padding='same')(x)

最佳答案

解决这个问题的方法是在上采样层之后添加 ZeroPadding2D 以达到所需的形状。

实际上,如果您的图像形状为 ((19,30)),为了达到偶数,例如在第一个位置,您可以添加:

x = UpSampling2D((2, 2))(x) #say here the shape is (19,30) after upsampling but you need (20,30)
x = ZeroPadding2D(((1, 0), (0, 0)))(x) # change to ZeroPadding2D(((0, 0), (0, 1))) if you want second dimension to increase by 1

你可以在这个答案中找到ZeroPadding2D的完美用法: segnet in keras: total size of new array must be unchanged error

关于python - Keras Conv2D 解码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59600141/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com