torchvision.transforms.ToTensor()和torchvision.transforms.Normalize()

本文详细解析了PyTorch中`torchvision.transforms`模块的`ToTensor()`和`Normalize()`函数。`ToTensor()`将图像像素值从[0,255]缩放到[0,1];`Normalize()`进一步将值域变换到[-1,1],通过指定的均值和标准差进行归一化。这两个转换常用于预处理图像数据,以便于输入到深度学习模型中。对于不同通道数的图像,如RGB或灰度图,`Normalize()`的参数设置也有所不同。
import torchvision.transforms as transform
transform.ToTensor()
transform.Normalize((0.5, 0.5, 0.5),(0.5, 0.5, 0.5))

torchvision.transforms.ToTensor()

一般读入图像像素值值域范围为[0, 255],ToTensor()能够把范围从[0, 255]变换到[0, 1]。
在这里插入图片描述

class ToTensor(object):
    """Convert a ``PIL Image`` or ``numpy.ndarray`` to tensor.

    Converts a PIL Image or numpy.ndarray (H x W x C) in the range
    [0, 255] to a torch.FloatTensor of shape (C x H x W) in the range [0.0, 1.0]
    if the PIL Image belongs to one of the modes (L, LA, P, I, F, RGB, YCbCr, RGBA, CMYK, 1)
    or if the numpy.ndarray has dtype = np.uint8

    In the other cases, tensors are returned without scaling.
    """

    def __call__(self, pic):
        """
        Args:
            pic (PIL Image or numpy.ndarray): Image to be converted to tensor.

        Returns:
            Tensor: Converted image.
        """
        return F.to_tensor(pic)

    def __repr__(self):
        return self.__class__.__name__ + '()'

torchvision.transforms.Normalize()

Normalize()把值域范围从[0, 1]变换到[-1, 1]。对每个通道执行value_n=(value-mean)/std。其中均值mean和标准差std分别由(0.5,0.5,0.5)和(0.5,0.5,0.5)指定

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值