我正在使用简单的训练循环执行回归任务。为了确保回归底值与我在训练循环中期望的值相同,我决定绘制每批数据。但是,我看到当我将数据加载器的张量转换为numpy数组并将其绘制时,它会受到干扰。我正在使用myTensor.data.cpu()。numpy()进行转换。
我的代码如下:
train_ds = TensorDataset(x_train, y_train)
train_dl = DataLoader(train_ds, batch_size = 32, shuffle = True, num_workers = 0, drop_last = True)
for epoch in range(epochs):
model.train()
for i, (x, y) in enumerate(train_dl):
x = x.cuda()
y = y.cuda()
yy = y.data.cpu().numpy()
pyplot.plot(yy[0: 32, 0])
pyplot.show()
我认为这是因为我在数据加载器中设置了shuffle = True。如果将其设置为false,就可以了。但是,如果我随后在数据加载器中设置shuffle = False,那么如何在每个时期之后对训练批次进行随机排序?