torchvision.utils.save_image保存图片全黑
问题描述:跑VAE模型的时候,遇到利用torchvision.utils.save_image保存图片,结果保存的图片是全黑的,而且图片是由灰色慢慢变黑的
原始图片像素值归一化以后的数据如下
重构出来的图片的部分数据如下(很正常啊,归一化以后的数据)
尝试
1、刚开始以为是模型结构的问题,但是看了好长时间都没发现有什么问题。
2、save_image函数的问题,于是改用opencv的imwrite函数来保存图片,结果还是全黑。
3、归一化问题:由于重构图片的数据值在0-1之间,所以保存的时候可能都按照0保存,于是每个值都*255,结果发现保存的图片还是全黑。
4、之后通过调试代码,发现每轮迭代的损失值变化很小很小,有的甚至没有变化,于是想到是不是参数没有回传,联想到了优化器的学习率问题。(学习率过低会导致学习速度太慢,学习率过高又容易导致难以收敛),刚开始学习率是1e-3=0.001,修改为0.0005,发现生成的图片不是全黑啦!
虽然全黑的问题解决了,但是重构图片的质量并不好,所以还是需要再修改的!