美文网首页
Pytorch: Tensor2Image

Pytorch: Tensor2Image

作者: Gavin先生 | 来源:发表于2019-08-15 20:05 被阅读0次

在 Pytorch 框架下,Debug 过程中通常要将 Tensor 转换为 Image 查看结果,所以会定义下面的函数。

def tensor2Image(image_tensor, imtype=np.uint8):
    image_numpy = image_tensor[0].cpu().float().numpy()
    image_numpy = (np.transpose(image_numpy, (1, 2, 0)) + 1) / 2.0 * 255.0
    return image_numpy.astype(imtype)

函数中的 transpose 写法取决于 Load 的 Image Normalize 的方式,上面函数中 transforms.Normalize 使用如下公式进行归一化,将数据中的每个值变成 [-1,1] 的范围。
channel=(channel-mean)/std

transform_list = [transforms.ToTensor(), 
                  transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]

下面是将 Tensor 转换为 Image 的测试代码。

from PIL import Image
Img = tensor2Image(data['train'])
im_out = Image.fromarray(Img)
im_out.save("your_file.jpeg")

相关文章

网友评论

      本文标题:Pytorch: Tensor2Image

      本文链接:https://www.haomeiwen.com/subject/qviajctx.html