宜黄建设局网站,外发加工网app,wordpress修改中文字体,网站建设项目招标公告数据并不总是以训练机器学习算法所需的最终处理形式出现。我们使用变换对数据进行一些处理#xff0c;使其适合训练。
图像的背后依然是数字#xff0c;是有一堆数字以特定的规律组合而成。深度学习模型的训练需要输入不是一张张的图片#xff0c;而是每张图片背后的数字组…数据并不总是以训练机器学习算法所需的最终处理形式出现。我们使用变换对数据进行一些处理使其适合训练。
图像的背后依然是数字是有一堆数字以特定的规律组合而成。深度学习模型的训练需要输入不是一张张的图片而是每张图片背后的数字组合。因此需要对对象进行转换。因为直接将图片输入模型是不可行的。解决这个问题很好的方式就是pytorch的这个函数tansform。
所有的TorchVision datasets都有两个参数——transform用于修改特征target_transform用于修改标签——这两个参数接受包含转换逻辑的可调用对象。torchvision.transforms模块提供了一些常用的现成转换方法。
FashionMNIST数据集的特征采用PIL图像格式标签为整数。对于训练我们需要将特征转换为归一化张量将标签转换为独热编码张量。为实现这些转换我们使用ToTensor和Lambda。
import torch
from torchvision import datasets
from torchvision.transforms import ToTensor, Lambdads datasets.FashionMNIST(rootdata,trainTrue,downloadTrue,transformToTensor(),target_transformLambda(lambda y: torch.zeros(10, dtypetorch.float).scatter_(0, torch.tensor(y), value1))
)ToTensor()
ToTensor将PIL图像或NumPy ndarray 转换为 FloatTensor并将图像的像素强度值缩放到范围 [0., 1.]。
Lambda Transforms
Lambda变换应用任何用户定义的Lambda函数。在这里我们定义一个函数将整数转换为独热编码张量。它首先创建一个大小为10的零张量我们数据集中标签的数量然后调用scatter_该函数在标签 y 给出的索引上分配一个value1 。
target_transform Lambda(lambda y: torch.zeros(10, dtypetorch.float).scatter_(dim0, indextorch.tensor(y), value1))