【pytorch函数笔记】ToTensor()将图像转为tensor格式

 官方文档:ToTensor — Torchvision 0.15 documentation

torchvision.transforms.ToTensor()

将PIL图像或ndarray转换为tensor,并相应地缩放值。
此转换不支持torchscript。
如果PIL图像属于模式(L、LA、P、I、F、RGB、YCbCr、RGBA、CMYK,1)之一,或者numpy.ndarray的dtype=np.uint8
在其他情况下,返回张量时不进行缩放。

1.先来看看,不使用ToTensor()之前 读取的数据类型

%matplotlib inline
import torch
import torchvision
from torch.utils import data
from torchvision import transforms
from d2l import torch as d2l
import matplotlib.pyplot as plt


d2l.use_svg_display()  #使用svg来显示图像


mnist_train = torchvision.datasets.FashionMNIST(root="../data", train=True, download=True)
mnist_test = torchvision.datasets.FashionMNIST(root="../data", train=False, download=True)


mnist_train[0]
mnist_train[0][0]
type(mnist_train[0][0])

【pytorch函数笔记】ToTensor()将图像转为tensor格式_第1张图片

 可以看到不使用transfomer.ToTensor()时输出是一个PIL.Image.Image类型的图像

2.再来看看使用transfomer.ToTensor()后的

# 通过ToTensor实例将图像数据从PIL类型变换成32位浮点数格式,
trans = transforms.ToTensor()  #transforms将PIL或ndarray转为tensor数据类型
mnist_train = torchvision.datasets.FashionMNIST(
    root="../data", train=True, transform=trans, download=True)
mnist_test = torchvision.datasets.FashionMNIST(
    root="../data", train=False, transform=trans, download=True)



mnist_train[0][0]

【pytorch函数笔记】ToTensor()将图像转为tensor格式_第2张图片

 可以清楚的看到图像类型从PIL.Image.Image类型转为tensor类型了。

你可能感兴趣的:(pytorch,深度学习,人工智能)