简单粗暴PyTorch之Dataloader与Dataset(数据读取的核心)

Dataloader与Dataset

  • 一、Dataloader
  • 二、Dataset

注:来自 深度之眼Pytorch框架班
机器学习模型训练步骤由数据、模型、损失函数、优化器、迭代训练五部分组成。

简单粗暴PyTorch之Dataloader与Dataset(数据读取的核心)_第1张图片
数据部分由数据收集、数据划分、数据读取、数据预处理四部分组成。
Dataloader与Dataset是Pytorch数据读取的核心

一、Dataloader

torch.utils.data.DataLoader()

功能:构建可迭代的数据装载器
• dataset: Dataset类,决定数据从哪读取及如何读取
• batchsize : 批大小
• num_works: 是否多进程读取数据
• shuffle: 每个epoch是否乱序
• drop_last:当样本数不能被batchsize整 除时,是否舍弃最后一批数据

简单粗暴PyTorch之Dataloader与Dataset(数据读取的核心)_第2张图片

Epoch: 所有训练样本都已输入到模型中,称为一个Epoch
Iteration:一批样本输入到模型中,称之为一个Iteration
Batchsize:批大小,决定一个Epoch有多少个Iteration
样本总数:80, Batchsize:8
1 Epoch = 10 Iteration

样本总数:87, Batchsize:8
1 Epoch = 10 Iteration ? drop_last = True
1 Epoch = 11 Iteration ? drop_last = False

二、Dataset

torch.utils.data.Dataset()
功能:Dataset抽象类,所有自定义的 Dataset需要继承它,并且复写 getitem()
getitem :
接收一个索引,返回一个样本
简单粗暴PyTorch之Dataloader与Dataset(数据读取的核心)_第3张图片
简单粗暴PyTorch之Dataloader与Dataset(数据读取的核心)_第4张图片

你可能感兴趣的:(简单粗暴Pytorch学习)