Pytorch: 数据读取机制Dataloader与Dataset

简介: Pytorch: 数据读取机制Dataloader与Dataset

文章和代码已经归档至【Github仓库:https://github.com/timerring/dive-into-AI 】或者公众号【AIShareLab】回复 pytorch教程 也可获取。

数据读取机制Dataloader与Dataset

数据分为四个模块

Sampler:生成索引

DataSet:根据索引读取图片及标签。

DataLoader 与 Dataset

torch.utils.data.DataLoader

功能:构建可迭代的数据装载器

  • dataset : Dataset 类,决定数据从哪读取
    及如何读取
  • batchsize : 批大小
  • num_works : 是否多进程读取数据(减少时间,加速模型训练)
  • shuffle:每个 epoch 是否乱序
  • drop_last :当样本数不能被 batchsize 整除时,是否舍弃最后一批数据

区分Epoch、Iteration、Batchsize

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

torch.utils.data.Dataset

功能:

Dataset 抽象类,所有自定义的Dataset 需要继承它,并且复写_getitem_()

getitem:接收一个索引,返回一个样本

关于读取数据

通过debug详解数据的读取过程

DataLoader根据是否采用多进程,进入DataLoaderIter,使用Sampler获取index,再通过索引调用DatasetFetcher,在硬盘中读取imgandLabel,通过collate_fn整理成一个batchData。

目录
相关文章
|
3月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【单点知识】基于实例详解PyTorch中的DataLoader类
【单点知识】基于实例详解PyTorch中的DataLoader类
446 2
|
3月前
|
存储 PyTorch 算法框架/工具
PyTorch 中的 Tensor:属性、数据生成和基本操作
PyTorch 中的 Tensor:属性、数据生成和基本操作
93 0
|
21天前
|
数据挖掘 PyTorch TensorFlow
Python数据分析新纪元:TensorFlow与PyTorch双剑合璧,深度挖掘数据价值
【7月更文挑战第30天】随着大数据时代的发展,数据分析变得至关重要,深度学习作为其前沿技术,正推动数据分析进入新阶段。本文介绍如何结合使用TensorFlow和PyTorch两大深度学习框架,最大化数据价值。
46 8
|
20天前
|
机器学习/深度学习 数据挖掘 TensorFlow
|
3月前
|
机器学习/深度学习 数据采集 PyTorch
pytorch中的数据索引
pytorch中的数据索引
39 0
|
1月前
|
机器学习/深度学习 PyTorch TensorFlow
在深度学习中,数据增强是一种常用的技术,用于通过增加训练数据的多样性来提高模型的泛化能力。`albumentations`是一个强大的Python库,用于图像增强,支持多种图像变换操作,并且可以与深度学习框架(如PyTorch、TensorFlow等)无缝集成。
在深度学习中,数据增强是一种常用的技术,用于通过增加训练数据的多样性来提高模型的泛化能力。`albumentations`是一个强大的Python库,用于图像增强,支持多种图像变换操作,并且可以与深度学习框架(如PyTorch、TensorFlow等)无缝集成。
|
3月前
|
存储 数据可视化 PyTorch
PyTorch中 Datasets & DataLoader 的介绍
PyTorch中 Datasets & DataLoader 的介绍
94 0
|
3月前
|
存储 并行计算 Java
一文读懂 PyTorch 显存管理机制
一文读懂 PyTorch 显存管理机制
309 1
|
6天前
|
机器学习/深度学习 人工智能 PyTorch
AI智能体研发之路-模型篇(五):pytorch vs tensorflow框架DNN网络结构源码级对比
AI智能体研发之路-模型篇(五):pytorch vs tensorflow框架DNN网络结构源码级对比
20 1
|
1月前
|
机器学习/深度学习 算法 PyTorch
使用Pytorch中从头实现去噪扩散概率模型(DDPM)
在本文中,我们将构建基础的无条件扩散模型,即去噪扩散概率模型(DDPM)。从探究算法的直观工作原理开始,然后在PyTorch中从头构建它。本文主要关注算法背后的思想和具体实现细节。
8619 3