首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从torch.Tensor以PIL格式显示图像

从torch.Tensor以PIL格式显示图像
EN

Stack Overflow用户
提问于 2020-04-22 23:15:11
回答 1查看 854关注 0票数 0

我是Pytorch的新手。我想知道如何将大小为torch.Size([1, 3, 224, 224])的张量转换为图像格式显示在Jupyter笔记本上。PIL格式或CV2格式就可以了。

我尝试使用transforms.ToPILImage(x),但得到了不同的格式:ToPILImage(mode=ToPILImage(mode=tensor([[[[1.3034e-16, 1.3034e-16, 1.3034e-16, ..., 1.4475e-16,.

也许我做错了什么,:no_mouth:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-23 02:40:02

由于您的图像是标准化的,因此您需要对其进行非标准化。您必须执行标准化过程中所做的反向操作。一种方法是

代码语言:javascript
运行
复制
class UnNormalize(object):
    def __init__(self, mean, std):
        self.mean = mean
        self.std = std

    def __call__(self, tensor):
        """
        Args:
            tensor (Tensor): Tensor image of size (C, H, W) to be normalized.
        Returns:
            Tensor: Normalized image.
        """
        for t, m, s in zip(tensor, self.mean, self.std):
            t.mul_(s).add_(m)
            # The normalize code -> t.sub_(m).div_(s)
        return tensor

要使用它,您将需要平均值和标准差(用于归一化图像)。然后,

代码语言:javascript
运行
复制
unorm = UnNormalize(mean = [0.35675976, 0.37380189, 0.3764753], std = [0.32064945, 0.32098866, 0.32325324])
image = unorm(normalized_image)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61368632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档