Pytorch教程[02]DataLoader与Dataset

简介: Pytorch教程[02]DataLoader与Dataset

机器学习模型训练步骤


image.png

image.png

一.DataLoader


torch.utils.data.DataLoader()

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

• dataset: Dataset类,决定数据从哪读取

及如何读取

• batchsize : 批大小

• num_works: 是否多进程读取数据

• shuffle: 每个epoch是否乱序

• drop_last:当样本数不能被batchsize整除时,是否舍弃最后一批数据

DataLoader( dataset,
      batch_size=1,
      shuffle=False,
      sampler=None,
      batch_sampler=None,
      num_workers=0,
      collate_fn=None,
      pin_memory=False,
      drop_last=False,
      timeout=0,
      worker_init_fn=None,
      multiprocessing_context=None)

[Epoch、Epoch、Batch]三者之间的关系

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 #接收一个索引,返回一个样本
class Dataset(object):
  def __getitem__(self, index):
    raise NotImplementedError
  def __add__(self, other):
    return ConcatDataset([self, other])

image.png

image.png

相关文章
|
1月前
|
存储 物联网 PyTorch
基于PyTorch的大语言模型微调指南:Torchtune完整教程与代码示例
**Torchtune**是由PyTorch团队开发的一个专门用于LLM微调的库。它旨在简化LLM的微调流程,提供了一系列高级API和预置的最佳实践
170 59
基于PyTorch的大语言模型微调指南:Torchtune完整教程与代码示例
|
1月前
|
并行计算 监控 搜索推荐
使用 PyTorch-BigGraph 构建和部署大规模图嵌入的完整教程
当处理大规模图数据时,复杂性难以避免。PyTorch-BigGraph (PBG) 是一款专为此设计的工具,能够高效处理数十亿节点和边的图数据。PBG通过多GPU或节点无缝扩展,利用高效的分区技术,生成准确的嵌入表示,适用于社交网络、推荐系统和知识图谱等领域。本文详细介绍PBG的设置、训练和优化方法,涵盖环境配置、数据准备、模型训练、性能优化和实际应用案例,帮助读者高效处理大规模图数据。
54 5
|
4月前
|
并行计算 Ubuntu PyTorch
Ubuntu下CUDA、Conda、Pytorch联合教程
本文是一份Ubuntu系统下安装和配置CUDA、Conda和Pytorch的教程,涵盖了查看显卡驱动、下载安装CUDA、添加环境变量、卸载CUDA、Anaconda的下载安装、环境管理以及Pytorch的安装和验证等步骤。
806 1
Ubuntu下CUDA、Conda、Pytorch联合教程
|
7月前
|
PyTorch 算法框架/工具 异构计算
PyTorch 2.2 中文官方教程(二十)(4)
PyTorch 2.2 中文官方教程(二十)
137 0
PyTorch 2.2 中文官方教程(二十)(4)
|
7月前
|
Android开发 PyTorch 算法框架/工具
PyTorch 2.2 中文官方教程(二十)(2)
PyTorch 2.2 中文官方教程(二十)
118 0
PyTorch 2.2 中文官方教程(二十)(2)
|
7月前
|
iOS开发 PyTorch 算法框架/工具
PyTorch 2.2 中文官方教程(二十)(1)
PyTorch 2.2 中文官方教程(二十)
118 0
PyTorch 2.2 中文官方教程(二十)(1)
|
7月前
|
PyTorch 算法框架/工具 异构计算
PyTorch 2.2 中文官方教程(十九)(3)
PyTorch 2.2 中文官方教程(十九)
72 0
PyTorch 2.2 中文官方教程(十九)(3)
|
7月前
|
存储 数据可视化 PyTorch
PyTorch中 Datasets & DataLoader 的介绍
PyTorch中 Datasets & DataLoader 的介绍
148 0
|
7月前
|
PyTorch 算法框架/工具 并行计算
PyTorch 2.2 中文官方教程(二十)(3)
PyTorch 2.2 中文官方教程(二十)
183 0
|
7月前
|
PyTorch 算法框架/工具 并行计算
PyTorch 2.2 中文官方教程(十九)(4)
PyTorch 2.2 中文官方教程(十九)
77 0