图像预处理的主要目的是消除图像中无关的信息,恢复有用的真实信息,即抑制不想要的变形或者增强某些对于后续处理重要的图像特征。通过增强有关信息的可检测性、最大限度地简化数据,从而改进特征提取、图像分割、匹配和识别的可靠性。预处理不会增加图像的信息量,一般会减少信息量。摘要:图像预处理的主要目的是消除图像中无关的信息,恢复有用的真实信息,即抑制不想要的变形或者增强某些对于后续处理重要的图像特征。通过增强有关信息的可检测性、最大限度地简化数据,从而改进特征提取、图像分割、匹配和识别的可靠性。预处理不会增加图像的信息量,一般会减少信息
ToTensor将PIL图像或数字数组转换为浮点型。并将图像的像素亮度值缩放到范围[0., 1.]
transforms.ToTensor的作用是将一个PIL Image格式的图片或者是取值范围为[0,255],形状为[H×W×C]的numpy.ndarray的数组转换为取值范围为[0.0,1.0],形状为[C×H×W]的tensor格式图片。Lambda转换应用任何用户定义的lambda函数。这里,我们定义了一个函数,将整数转换成one-hot张量。它首先创建一个大小为10(我们数据集中标签的数量)的零张量,并调用scatter_在标签y给出的索引上赋值=1。
import torchfrom torchvision import datasetsfrom torchvision.transforms import ToTensor, Lambdadef test_demo:test = datasets.FashionMNIST(root="data",train=True,download=True,transform=ToTensor,target_transform=Lambda(lambda y: torch.zeros(10, dtype=torch.float).scatter_(dim=0, index=torch.tensor(y), value=1)))#lambda表达式,输入一个y,创建一个torch,10的zeros,进行原地的scatter,在0个维度,y个位置数据设置value为1t = test[0]#输出代表了张量形式的特征,one hot张量形式的标签print(t)if __name__ == '__main__':test_demo来源:煜城教育
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!