当前位置: 首页 > 编程笔记 >

python torch.utils.data.DataLoader使用方法

夏飞鹏
2023-03-14
本文向大家介绍python torch.utils.data.DataLoader使用方法,包括了python torch.utils.data.DataLoader使用方法的使用技巧和注意事项,需要的朋友参考一下

PyTorch中数据读取的一个重要接口是torch.utils.data.DataLoader,该接口定义在dataloader.py脚本中,只要是用PyTorch来训练模型基本都会用到该接口,该接口主要用来将自定义的数据读取接口的输出或者PyTorch已有的数据读取接口的输入按照batch size封装成Tensor,后续只需要再包装成Variable即可作为模型的输入,因此该接口有点承上启下的作用,比较重要。

数据加载器,结合了数据集和取样器,并且可以提供多个线程处理数据集。

在训练模型时使用到此函数,用来把训练数据分成多个小组,此函数每次抛出一组数据。直至把所有的数据都抛出。就是做一个数据的初始化。

生成迭代数据非常方便,请看如下示例:

"""
  批训练,把数据变成一小批一小批数据进行训练。
  DataLoader就是用来包装所使用的数据,每次抛出一批数据
"""
import torch
import torch.utils.data as Data

BATCH_SIZE = 5

x = torch.linspace(1, 10, 10)
y = torch.linspace(10, 1, 10)
# 把数据放在数据库中
torch_dataset = Data.TensorDataset(x, y)
loader = Data.DataLoader(
  # 从数据库中每次抽出batch size个样本
  dataset=torch_dataset,
  batch_size=BATCH_SIZE,
  shuffle=True,
  num_workers=2,
)


def show_batch():
  for epoch in range(3):
    for step, (batch_x, batch_y) in enumerate(loader):
      # training


      print("steop:{}, batch_x:{}, batch_y:{}".format(step, batch_x, batch_y))


if __name__ == '__main__':
  show_batch()

结果:

我们来看一下变量类型:

到此这篇关于python torch.utils.data.DataLoader使用方法的文章就介绍到这了,更多相关torch.utils.data.DataLoader内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 现在 Yarn 已经 安装完毕,可以开始使用了。 以下是一些你需要的最常用的命令: 初始化一个新项目 yarn init 添加依赖包 yarn add [package] yarn add [package]@[version] yarn add [package]@[tag] 将依赖项添加到不同依赖项类别中 分别添加到 devDependencies、peerDependencies 和 o

  • Scapy的交互shell是运行在一个终端会话当中。因为需要root权限才能发送数据包,所以我们在这里使用sudo $ sudo scapy Welcome to Scapy (2.0.1-dev) >>> 在Windows当中,请打开命令提示符(cmd.exe),并确保您拥有管理员权限: C:>scapy INFO: No IPv6 support in kernel WARNING: No

  • 使用方法   将已设定的Bluetooth®(蓝牙)装置用作调制解调器,与网络联机。 开始与网络连接 1. 在需要与网络联机时显示的联机一览画面上,选择已设定的Bluetooth®(蓝牙)调制解调器以进行联机。 透过选择的Bluetooth®(蓝牙)调制解调器与网络连接。 切断与网络的联机 1. 选择(设定) > (设定Bluetooth®(蓝牙)装置) > [管理Bluetooth®(蓝牙)装置

  • 在使用方法后,我无法使用方法。这是下面给出的注意事项.... 在hacker Rank中注意:(如果您在方法之后立即使用方法,请记住读取整数令牌;因此,该行整数输入的最后一个换行符仍在输入缓冲区中排队,下一个将读取整数行的剩余部分(为空)。nextLine方法不会被跳过,但它为空。代码: 输出:string:double:3.1415 int:42

  • $() 方法是在 DOM 中使用过于频繁的 document.getElementById() 方法的一个便利的简写,就像这个 DOM 方法一样,这个方法返回参数传入的 id 的那个元素。比起 DOM 中的方法,这个更胜一筹。你可以传入多个 id 作为参数然后 $() 返回一个带有所有要求的元素的一个 Array 对象。 <HTML> <HEAD> <TITLE> Test Page </TITL

  • 本文向大家介绍jQuery使用方法,包括了jQuery使用方法的使用技巧和注意事项,需要的朋友参考一下 使用jQuery的第一步,往往就是将一个选择表达式,放进构造函数jQuery()(简写为$),然后得到被选中的元素。 选择表达式可以是CSS选择器: 也可以是jQuery特有的表达式: 二、改变结果集 如果选中多个元素,jQuery提供过滤器,可以缩小结果集: 有一些时候,我们需要从结果集出发,

  • 行为管理使用 在使用该功能时,请你认真阅读一遍ThinkPHP - 行为扩展这章节, 需要有了这些预备知识。 CMS中的行为系统改写了ThinkPHP的系统行为实现app/Libs/System/Hook.class.php,与TP的行为管理方式 使用略有差异。 CMS中有部分模块使用到了行为管理进行开发。以Wap模块为例: 使用方法: 创建 Behavior 一般来说,写在对应模块的下 Beha

  • 载入 MorphSVGPlugin 文件 MorphSVGPlugin 是 GreenSock 动画平台用于SVG变形的插件,可以在各形状之间进行平滑的变形动画。GreenSock 文件包中并没有包含 MorphSVGPlugin 插件,因此需要另外下载。 首先下载 MorphSVGPlugin 破解版文件。MorphSVGPlugin 并非免费插件,商用时请注意版权。 下载 MorphSVGPl