ESRGAN需输入输出尺寸一致:修改生成器移除上采样
解决TensorFlow版ESRGAN生成器输出尺寸不匹配问题
问题背景
使用TensorFlow版本的ESRGAN代码时,需求是让生成器输入与输出尺寸保持一致(已准备好同尺寸的低分辨率和高分辨率训练图像),但原生成器自带两次上采样resize操作,会将输入图像放大4倍,导致输出尺寸无法适配要求为(None, 128, 128, 1)的判别器。例如输入批次尺寸为(8, 128, 128, 1)时,生成器输出变为(16, 512, 512, 1),引发尺寸不匹配问题。
解决方案
找到生成器代码中负责上采样的以下两行resize代码,直接删除即可,保留其余卷积层逻辑,就能实现输入输出尺寸一致:
fea_resize = tf.image.resize(fea, [size_fea_h * 2, size_fea_w * 2], method='nearest', name='upsample_nn_1') fea_resize = tf.image.resize(fea, [size_fea_h * 4, size_fea_w * 4],method='nearest',name='upsample_nn_2')
内容的提问来源于stack exchange,提问作者salomepx
相关产品推荐
相关产品推荐

