0

我正在使用一个简单的训练循环来执行回归任务。为了确保回归的真实值与我在训练循环中的预期相同,我决定绘制每批数据。但是,我看到当我将数据加载器的张量转换为 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()

在此处输入图像描述

4

1 回答 1

0

我认为这是因为我在数据加载器中设置了 shuffle = True 。如果我将其设置为 false,那很好。但是,如果我在数据加载器中设置 shuffle = False,那么如何在每个 epoch 之后对训练批次进行混洗?

于 2020-02-29T18:41:54.260 回答