Pytorch笔记(一)数据的读取与处理

PyTorch 官方文档:pytorch.org/docs/stable/index.html
PyTorch 中文文档:github.com/zergtant/pytorch-handbook


PyTorch对数据读取和处理自带了一些重要的工具包,包括:

数据加载:from torch.utils.data import DataLoader

  • 会在 enumerate(self.trainloader) 时调用自定义数据处理的 __getitem__ 方法,对训练数据进行读取

数据定义:from torch.utils.data import Dataset

数据转换:from torchvision import transforms

  • 数据转换先在模型文件的 self.composed_transforms_tr = transforms.Compose 中进行定义
  • 通过 transforms.py 调用数据转换

【1】torchvision.transforms
【2】__init__ 和 __call__

【1】torchvision.transforms

torchvision.transforms 是 PyTorch 中的图像预处理包,一般会用 transforms.Compose 将多个处理步骤整合到一起,比如:

from torchvision import transforms
composed_transforms_tr = transforms.Compose([

        transforms.CenterCrop(10),
        transforms.ToTensor()
])

其他预处理函数:

Resize:把给定的图片resize到指定大小
Normalize:对图像进行标准化
ToTensor:将像素值在范围[0,255]内的图像转换为范围在[0.0,1.0]的torch.Tensor
ToPILImage:将tensor转换为PIL图像
CenteCrop:在图片的中间区域进行裁剪
RandomCrop:在一个随机的位置进行裁剪
RandomHorizontalFlip:以0.5的概率水平翻转给定的PIL图像
RandomVerticalFlip:以0.5的概率竖直翻转给定的PIL图像
RandomResizedCrop:将PIL图像裁剪成任意大小和纵横比
Grayscale:将图像转换为灰度图像
RandomGrayscale:将图像以一定的概率转换为灰度图像
FiceCrop:把图像裁剪为四个角和一个中心
ColorJitter:随机改变图像的亮度对比度和饱和度

【2】__init__ 和 __call__

__init__ 类的初始化函数,__call__ 使类具有类似于函数的功能。

class Cat():
    def __init__(self, name, init_age):
        super().__init__
        self.name = name
        self.age = init_age
        print("{} is playing".format(self.name))
        print("{} is {} year-old".format(self.name, self.age))
    def __call__(self, add_age):
        cur_age = self.age + add_age
        print("Now {} is {} year-old".format(self.name, cur_age))

cat = Cat('kamiya', 2)
cat(1)

>>>
kamiya is playing
kamiya is 2 year-old
Now kamiya is 3 year-old

读取数据

参考文章:
https://zhuanlan.zhihu.com/p/30934236
https://blog.csdn.net/rogerfang/article/details/82291464
https://blog.csdn.net/zhenaoxi1077/article/details/80953227

torchvision.transforms 包

参考文章:
https://zhuanlan.zhihu.com/p/27382990

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不吃饭就会放大招

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值