分批训练数据用于数据量较多时。
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( dataset=torch_dataset, batch_size=BATCH_SIZE, shuffle=True, #表示每次分组时会打乱数据顺序 ) for epoch in range(3): for step,(batch_x,batch_y) in enumerate(loader): print("Epoch:",epoch, '|Step:',step, '|batch_x:',batch_x.numpy(), '|batch_y:', batch_y.numpy(),)
运行结果为:
其中:
epoch为训练次数,本实例中训练了3次,每次将数据分为两组,即batch_x和batch_y