Pytorch学习(3) transforms使用

Transforms的使用

​ 介绍:

​ transforms是一个用于转化图片格式/大小的模块, 用起来比较方便, 工具也比较全面

  • 导入模块
from torchvision import transforms

1. ToTensor

​ ToTensor是transforms中的一个类, 用于将PIL或ndarray类型转化为tensor类型

# 获取PIL图片
img = Image.open('xx.jpg')
# 实例化对象
trans_to_Tensor = transforms.ToTensor()
# 使用方法进行转换
img_tensor = trans_to_Tensor(img)

2. Normalize

​ 也是一个类, 用于修改tensor图片的一些参数 <= 还不是很明白, 只知道对色调影响很大

trans_to_norm = transforms.Normalize([1,2,5], [7,5,2])
# 参数表示两个三通道的数据
img_norm = trans_to_norm(img_tensor)

3. Resize

​ 用于改变PIL图片的尺寸, 返回新的PIL图片

# 参数是要求裁剪的尺寸, 序列代表长宽, 单个数代表比例
trans_resize = transforms.Resize((512, 512))
img_resize = trans_resize(img)

4. RandomCrop

​ 按照规定尺寸随机裁剪图片的任意位置, 传入和输出都是PIL图片

# 这里的参数和Resize不一样, 序列表示长宽, 单数表示正方形
trans_random = transforms.RandomCrop(512)
img_crop = trans_random(img)

5. Compose

​ compose用于将多种转化方法组合使用, 使转化过程更加简洁

# 需要注意的是, 序列中的组合方法前后参数类型一定要对等
# 如此处就是 PIL -> PIL -> Tensor
trans_compose = transforms.Compose([trans_resize, trans_to_Tensor])
img_compose = trans_compose(img)
# 同时实现了修改尺寸并转化为Tensor类型

你可能感兴趣的:(PyTorch入门,pytorch,学习,python)