(5)Pytorch数据处理

Pytorch 数据处理

要点总结
1、功能
Dataset:准备数据集,一般会针对自己的数据集格式重写Dataset,定义数据输入输出格式
Dataloader:用于加载数据,通常不用改这部分内容

2、看代码时请关注
Dataloader中collate_fn 传入的参数,这个参数是 数据以 batch 堆叠的列表
Dataset中getitem对原始数据的处理方式
这份笔记不完善,还需要学习加深(TBD)

举例

train_dataset = CenternetDataset(train_lines, input_shape, num_classes, train = True)
gen = DataLoader(train_dataset, shuffle = shuffle, batch_size = batch_size, num_workers = num_workers, pin_memory=True,drop_last=True, collate_fn=centernet_dataset_collate, sampler=train_sampler)

1、DataLoader

1.1 collate-fn的功能

pytorch中collate_fn函数的使用&如何向collate_fn函数传参 ⭐⭐(这篇博文总结到位!)

dataloader取数据的index,进入dataset的getitem确定读取数据具体内容,然后回到dataloader进行数据堆叠生成batch。(个人理解,不一定准确)
(5)Pytorch数据处理_第1张图片

collate_fn用法
在这里插入图片描述
collate_fn的用处:
自定义数据堆叠过程
自定义batch数据的输出形式
collate_fn的使用
定义一个以data为输入的函数
输入输出分别与getitem函数和loader调用时对应
——理解不通透,不过没关系,现在至少加深理解多一分了!!!

1.2 可视化加深理解

PyTorch DataLoader工作原理可视化 ⭐
数据加载的形象过程
(5)Pytorch数据处理_第2张图片

如何 shuffle 和 loader
(5)Pytorch数据处理_第3张图片


以下内容不然懂

系统学习Pytorch笔记三:Pytorch数据读取机制(DataLoader)与图像预处理模块(transforms)

Dataset中使用transforms

import torchvision.transforms as transforms
self.to_tensor = transforms.ToTensor()   # ?

你可能感兴趣的:(pytorch基础知识积累,pytorch,深度学习,python)