完全卷积自动编码器,用于keras中可变大小的图像

izi*_*kgo 6 convolution autoencoder deep-learning keras

我想建立一个卷积自动编码器,其中输入的大小不是恒定的.我这样做是通过堆叠conv-pool层直到我到达编码层,然后使用upsample-conv层进行反向操作.问题是无论我使用什么设置,我都无法在输出层中获得与输入层完全相同的大小.原因是UpSampling层(比如说(2,2)大小),输入的大小加倍,所以我不能得到奇怪的维度.有没有办法将给定图层的输出维度与单个样本的前一层的输入维度联系起来(正如我所说,变量中max-pool图层的输入大小)?

Den*_*ker 1

就在这里。

您可以使用三种方法

填充只会增加尺寸。不利于减小尺寸。

调整大小应该更昂贵,但对于每种情况(上采样或下采样)来说都是最佳解决方案。它将保留范围内的所有值,并简单地对它们重新采样以调整给定维度的大小。

Crop 或 Pad 将作为调整大小使用,并且由于此方法中没有插值,因此计算效率更高。但是,如果您想将其调整为较小的尺寸,它将从边缘裁剪。

通过使用这 3 个,您可以安排图层的尺寸。