Pytorch深度学习框架-transform

前言
为了使数据适合模型进行训练,需要先对数据进行一些变换。在之前的内容中,其实已经出现过transform了,这里对其做一个相对详细的介绍。
基础
之前就提到过torchvision.transforms
模块提供了常用转换。transform
和target_transform
例如,可以看到下面的例子:
1 | import torch |
这里出现了不是那么熟悉的ToTensor()
、Lambda()
和.scatter_
他们的作用如下:
transforms.ToTensor()
:将PIL
图像或NumPy
数组转换为Tensor
,并将像素值归一化到 [0, 1] 的范围内。Lambda
转换应用任何用户定义的lambda
函数。scatter_
函数是一个非常有用的工具,它允许你根据索引将数据分散到张量中。
Note
lambda
函数和scatter_
函数应当是非常有用的,在这里简单的写下这么一句话,应当是很难理解的,作者也是一样,理解的非常浅薄。
暂且在这里做一个标记,理解加深之后,需要重新解释这里。
更多的用法
组合变换(Compose):
transforms.Compose(transforms_list)
:将多个变换组合在一起,按照顺序执行。调整大小(Resize):
transforms.Resize(size)
:调整图像到给定的大小。中心裁剪(CenterCrop):
transforms.CenterCrop(size)
:对图像进行中心裁剪,保留中心区域。随机裁剪(RandomCrop):
transforms.RandomCrop(size)
:随机裁剪图像的某个区域。翻转(Flip):
transforms.RandomHorizontalFlip()
:以一定概率对图像进行水平翻转。transforms.RandomVerticalFlip()
:以一定概率对图像进行垂直翻转。归一化(Normalize):
transforms.Normalize(mean, std)
:对图像进行归一化操作,将每个通道的值进行标准化。色彩调整(Color Jitter):
transforms.ColorJitter(brightness=..., contrast=..., saturation=..., hue=...)
:随机调整亮度、对比度、饱和度和色调。
对于上面的几个操作,下面有一个例子:
1 | import torchvision.transforms as transforms |
后记
Pytorch初学者官方文档这里描述的,作者也是自学理解的也有点差,查阅了一些其他的资料,但是还处在一个比较迷惑的状态,这里后续会更新的。
同系列
Pytorch深度学习框架-insatll
Pytorch深度学习框架-tensor
Pytorch深度学习框架-data
Pytorch深度学习框架-transform
Pytorch深度学习框架-build
Pytorch深度学习框架-train
Pytorch深度学习框架-save-load
- Title: Pytorch深度学习框架-transform
- Author: 呆呆的猪胖胖
- Created at : 2025-03-26 14:00:00
- Updated at : 2025-05-13 15:34:43
- Link: https://blog.cflmy.cn/2025/03/26/Technology/AI/Pytorch-transform/
- License: This work is licensed under CC BY-NC-SA 4.0.