【Pytorch】torchvision.transforms

1. transforms.ToTensor

from torchvision import transforms
from PIL import Image

img_path = '///'
img = Image.open(img_path)
tensor_img = transforms.ToTensor(img)

2. transforms.Normalize

'''
标准化
input[channel] = (input[channel] - mean[channel])/ std[channel]
'''
trans_norm = transforms.Normalize(mean=[0.5, 0.5, 0.5],
                                  std=[0.5, 0.5, 0.5])
trans_norm(img_tensor)

3. transforms.Resize

'''
改变维度
'''
img_tensor = torch.randn((3, 128, 128))
trans_resize = transforms.Resize((256, 256))
img_resize = trans_resize(img_tensor)

print(img_tensor.shape, img_resize.shape)
'''
torch.Size([3, 128, 128]) torch.Size([3, 256, 256])
'''

4. transforms.Pad

'''
class torchvision.transforms.Pad(padding, fill=0, padding_mode=‘constant’)
padding-(sequence or int, optional)
    int,上下左右均填充int个
    sequence
        [a, b],左右填充a列,上下填充b行
        [a,b,c,d],则为左,上,右,下。
    fill- (int or tuple) 
        填充的值是什么(仅当padding_mode为constant时有用)。
        int时,各通道均填充该值,
        当长度为3的tuple时,表示RGB通道需要填充的值。
    padding_mode- 填充模式,这里提供了4种填充模式,
        1.constant,常量。
        2.edge 按照图片边缘的像素值来填充。
        3.reflect,? 4. symmetric,?
'''
trans_pad = transforms.Pad(padding=[1,1], fill=0, padding_mode='constant')
trans_pad(torch.randn(2, 1, 1))
'''
tensor([[[ 0.0000,  0.0000,  0.0000],
         [ 0.0000, -0.0892,  0.0000],
         [ 0.0000,  0.0000,  0.0000]],

        [[ 0.0000,  0.0000,  0.0000],
         [ 0.0000,  1.1186,  0.0000],
         [ 0.0000,  0.0000,  0.0000]]])
'''

5. transforms.Compose

trans = transforms.Compose([transforms.Resize((64, 64))
                           ,transforms.Resize((128))])

trans(torch.randn(3, 25, 25)).shape
'''
torch.Size([3, 128, 128])
'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值