【pytorch】|torchvision transform

transforms类涵盖了大量对Tensor和对PIL Image的处理操作,是pytorch中的图像预处理包。
在这里插入图片描述

transforms.ToTensor()

将图像数据转换成了张量,并且归一化到了[0,1]。

transforms.normalize()

对张量进行归一化,它的形参包括mean、std等

对输入的tensor图像各个通道进行归一化

input[channel] = (input[channel] - mean[channel]) / std[channel]

在这里插入图片描述

transforms.Normalize( mean = (0.5,0.5,0.5), std = (0.5,0.5,0.5) )#将[0,1]的张量归一化到[-1, 1]上。

对于imagetNet ,平均值和方差是从imagenet训练集中抽样算出来的。
torchvision.transforms.Normalize(mean=[0.485,
0.456, 0.406], std=[0.229, 0.224, 0.225])

transforms.Compose

一般用Compose把多个步骤整合到一起:

transforms.Compose([
 
    transforms.CenterCrop(10),
 
    transforms.ToTensor(),
 
])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,让我们先下载和导入必要的PyTorchtorchvision库: ```python import torch import torchvision import torchvision.transforms as transforms ``` 接下来,我们可以定义一些数据转换,以便将CIFAR10图像的像素值转换为张量,并对它们进行标准化。我们还可以将数据集分成训练集和测试集。 ```python transform = transforms.Compose( [transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]) trainset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True, transform=transform) trainloader = torch.utils.data.DataLoader(trainset, batch_size=4, shuffle=True, num_workers=2) testset = torchvision.datasets.CIFAR10(root='./data', train=False, download=True, transform=transform) testloader = torch.utils.data.DataLoader(testset, batch_size=4, shuffle=False, num_workers=2) ``` 现在,我们可以显示一些图像来检查它们是否已成功加载。我们将使用matplotlib库来绘制图像。 ```python import matplotlib.pyplot as plt import numpy as np # 定义类别标签 classes = ('plane', 'car', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck') # 随机获取一些训练图像 dataiter = iter(trainloader) images, labels = dataiter.next() # 绘制图像 def imshow(img): img = img / 2 + 0.5 # 反归一化 npimg = img.numpy() plt.imshow(np.transpose(npimg, (1, 2, 0))) plt.show() # 显示图像 imshow(torchvision.utils.make_grid(images)) # 输出标签 print(' '.join('%5s' % classes[labels[j]] for j in range(4))) ``` 这将显示四张训练图片和它们的标签。现在,我们已经成功地加载并显示了CIFAR10数据集,可以开始使用PyTorch进行图像分类任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值