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

作者:今夜无风 时间:2023-02-20 16:00:16 

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

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

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

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

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


"""
 批训练,把数据变成一小批一小批数据进行训练。
 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使用方法

我们来看一下变量类型:

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

来源:https://www.cnblogs.com/demo-deng/p/10623334.html

标签:torch.utils.data.DataLoader
0
投稿

猜你喜欢

  • mysql 查询当天、本周,本月,上一个月的数据

    2024-01-27 02:10:53
  • python实时检测键盘输入函数的示例

    2023-01-27 19:19:28
  • django 前端页面如何实现显示前N条数据

    2023-06-07 10:50:33
  • MYSQL METADATA LOCK(MDL LOCK) 理论及加锁类型测试

    2024-01-23 11:16:46
  • 关于Python中的if __name__ == __main__详情

    2022-05-04 10:16:28
  • 用Frontpage设计网站主页

    2008-10-23 13:44:00
  • python数据库操作常用功能使用详解(创建表/插入数据/获取数据)

    2024-01-25 20:06:36
  • python中input()的用法及扩展

    2021-07-05 08:45:57
  • Dreamweaver滑动菜单的制作[图]

    2007-11-08 12:43:00
  • Python利用redis-py实现集合与有序集合的常用指令操作

    2021-02-11 21:29:24
  • 详细分析Python可变对象和不可变对象

    2021-03-10 22:50:10
  • JavaScript实现复制内容到粘贴板代码

    2024-04-25 13:14:01
  • python的三目运算符和not in运算符使用示例

    2021-07-18 23:36:35
  • Python实现返回数组中第i小元素的方法示例

    2021-12-23 14:58:44
  • 一篇文章搞懂python的转义字符及用法

    2022-01-29 17:19:12
  • keras做CNN的训练误差loss的下降操作

    2023-09-03 07:41:07
  • vue+canvas实现数据实时从上到下刷新瀑布图效果(类似QT的)

    2024-05-09 09:16:28
  • ASP 错误代码

    2009-05-11 12:38:00
  • 一篇文章带你入门SQL编程

    2024-01-12 13:05:22
  • asp数组去重复和数组排序

    2008-10-30 12:51:00
  • asp之家 网络编程 m.aspxhome.com