我正在使用 tqdm 库,它没有给我进度条,而是给我输出看起来像这样的输出,它只是告诉我迭代:
251it [01:44, 2.39it/s]
知道为什么代码会这样做吗?我想这可能是因为我给它传递了一个发电机,但我又一次使用了过去有效的发电机。我以前从来没有真正搞砸过 tdqm 格式。下面是部分源代码:
train_iter = zip(train_x, train_y) #train_x and train_y are just lists of elements
....
def train(train_iter, model, criterion, optimizer):
model.train()
total_loss = 0
for x, y in tqdm(train_iter):
x = x.transpose(0, 1)
y = y.transpose(0, 1)
optimizer.zero_grad()
bloss = model.forward(x, y, criterion)
bloss.backward()
torch.nn.utils.clip_grad_norm(model.parameters(), args.clip)
optimizer.step()
total_loss += bloss.data[0]
return total_loss
原文由 Matt 发布,翻译遵循 CC BY-SA 4.0 许可协议
tqdm
需要知道将执行多少次迭代(总数)以显示进度条。你可以试试这个: