plt.image与tensor之间的相互转换(tensor转为plt.image)用MNIST实例操作

1、plt.image -> numpy -> tensor

import torch
x = torch.tensor(x)  # 将 PIL 图像转换为 PyTorch 张量

实操(使用真实数据集MNIST):

import numpy as np
import torch
import torchvision

# 加载MNIST数据集(路径需要自己修改)
train_data = torchvision.datasets.MNIST(r'C:\Users\liusl\.torch', train=True, download=True)
test_data = torchvision.datasets.MNIST(r'C:\Users\liusl\.torch', train=False, download=True)

# 获取数据
x, _ = train_data[0]
print("x:",type(x))

# tensor→numpy
x1 = np.array(x)
print("x1:",type(x1))

# numpy→Image
x2 = torch.tensor(x1)
print("x2:",type(x2))

实操结果:

在这里插入图片描述

2、tensor -> plt.image

利用torchvision.transforms自带的ToPILImage()方法

# Image→tensor
x3 = ToPILImage()(x2)  # 续接上面的代码  把tensor类型的x2转为image类型x3
print("x3:",type(x3))

完整代码:

import numpy as np
import torch
import torchvision
from torchvision.transforms import ToPILImage


# 加载MNIST数据集(路径需要自己修改)
train_data = torchvision.datasets.MNIST(r'C:\Users\liusl\.torch', train=True, download=True)
test_data = torchvision.datasets.MNIST(r'C:\Users\liusl\.torch', train=False, download=True)

x, _ = train_data[0]
print("x:",type(x))

# tensor→numpy
x1 = np.array(x)
print("x1:",type(x1))

# numpy→Image
x2 = torch.tensor(x1)
print("x2:",type(x2))

# Image→tensor
x3 = ToPILImage()(x2)
print("x3:",type(x3))

完整结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值