import torch
import torch.utils.data as Data
BATCH_SZIE = 3
x = torch.linspace(1,10,10)
y = torch.linspace(10,1,10)
# print(x) # tensor 类型,可以直接转为numpy
torch_dataset = Data.TensorDataset(x, y)
loader = Data.DataLoader(
dataset=torch_dataset,
batch_size=BATCH_SZIE,
shuffle=True,# true表示数据每次epoch是打乱顺序抽样的
# shuffle=False,# False表示数据每次epoch是打乱顺序抽样的
num_workers=2, # 每次训练有两个线程进行的?????????????
)
if __name__ == '__main__': # 使用该if正常运行,win10下可以运行
for epoch in range(3): # 整体10个数据训练3次
for step,(batch_x,batch_y) in enumerate(loader):# 因为总的数据是10,BATCH_SZIE是5,所以step的数目是2,两步完成一次训练,enumerate表示每一步都添加一个索引
print('epoch:',epoch,'|step : ',step,'|batch_x:',batch_x.numpy(),'|batch_y:',batch_y.numpy())