当前位置: 代码迷 >> 综合 >> torch.utils.data.DataLoader()到底是什么作用?
  详细解决方案

torch.utils.data.DataLoader()到底是什么作用?

热度:19   发布时间:2024-03-05 22:33:29.0

就是数据加载器,结合了数据集和取样器,并且可以提供多个线程处理数据集。在训练模型时使用到此函数,用来把训练数据分成多个小组,此函数每次抛出一组数据。直至把所有的数据都抛出。就是做一个数据的初始化。
在这里插入图片描述
生成迭代数据非常方便,请看如下示例:

"""批训练,把数据变成一小批一小批数据进行训练。DataLoader就是用来包装所使用的数据,每次抛出一批数据
"""
import torch
import torch.utils.data as DataBATCH_SIZE = 5x = 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):# trainingprint("steop:{}, batch_x:{}, batch_y:{}".format(step, batch_x, batch_y))if __name__ == '__main__':show_batch()

结果:
在这里插入图片描述
我们来看一下变量类型:
在这里插入图片描述

  相关解决方案