Tensor转为Image的坑(psnr为INF)
方法1:
def tensor2im(image_tensor, imtype=np.uint8):
image_tensor=image_tensor[0].data.mul(255).byte().permute(1, 2, 0).cpu().numpy()
# image_numpy = image_numpy.astype(imtype)
return image_tensor
方法2:
def tensor2im(image_tensor, imtype=np.uint8):
image_tensor = image_tensor.detach()
image_numpy = image_tensor[0].cpu().float().numpy()
image_numpy = np.clip(image_numpy, 0, 1)
if image_numpy.shape[0] == 1:
image_numpy = np.tile(image_numpy, (3, 1, 1))
image_numpy = (np.transpose(image_numpy, (1, 2, 0))) * 255.0
return image_numpy
方法2会导致进度损失…
方法1先×255在变化为numpy会保留更多小数位数
如果psnr计算为inf,可以尝试方法1。