记录一下自己在实验中发现的一个问题,我使用了别人的评测函数(matlab写的),我自己用python实现了一个,通过对生成图像和图像标签进行评测,结果吻合,实现没问题。
但有趣的是我在训练过程中,得到的最优模型,在python中得到的指标与matlab对生成结果评测却不相同。通过控制变量,找到了原因所在,开始我转图像是通过tensor转numpy,然后通过scipy.misc.imsave转成图片格式,matlab测的指标有所降低。后来我直接将tensor通过transforms.ToPILImage转成PIL image格式,然后转成图片格式,此时matlab测的指标与python中一样。
建议不要使用scipy.misc.imsave函数,还是使用torchvision中的transforms,查了一下transforms.ToPILImage,有保护值范围,scipy.misc.imsave应该是没有,导致指标下降。