TensorFlow搭建的GAN生成器输出RGB图像无法显示彩色是什么原因?
问题原因与解决方案
- 核心错误出在绘图部分的通道索引逻辑:你的生成器最终输出的是3通道RGB图像(最后一层Conv2D的输出通道数为3),但你在调用
plt.imshow()时指定了images[i, :, :, 0],仅取了第0个通道的单通道数据渲染,matplotlib会默认将单通道数据映射为灰度图,因此无法显示彩色。 - 补充注意:生成器输出的sigmoid激活值范围为0~1,你乘以255后转换为
uint8类型即可适配matplotlib的像素值要求,无需转成int32。
修正后的绘图代码如下:
plt.figure(figsize=(8,3)) for i in range(images.shape[0]): plt.subplot(2, 5, i+1) # 去掉通道索引0,传入完整3通道数据,类型改为uint8 plt.imshow(images[i].astype("uint8")) plt.axis('off') plt.show()
内容的提问来源于stack exchange,提问作者Wakame
相关产品推荐
相关产品推荐

