我们训练模型要进行批训练的时候,就涉及到每一批选取什么数据的问题,pytorch的DataLoader就帮我们包装了数据,它能帮我们有效迭代数据,这样就可以进行批训练。
pytorch 数据加载到模型的流程
pytorch 的数据加载到模型的操作顺序是这样的:
① 创建一个 Dataset 对象
② 创建一个 DataLoader 对象
③ 循环这个 DataLoader 对象,将img, label加载到模型中进行训练
dataset = MyDataset() #创建一个dataset对象
dataloader = DataLoader(dataset) #把dataset传入dataloader中得到一个dataloader对象
num_epoches = 100
for epoch in range(num_epoches):
for img, label in dataloader:
....
DataLoader
DataLoader将自定义的Dataset根据batch size大小、是否shuffle等封装成一个Batch Size大小的Tensor,用于后面的训练。
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