tqdm 笔记本 - 2 个内部条
tqdm notebook - 2 inner bars
我正在尝试使用 tqdm 打印训练进度条。
我想跟踪时代的进步,对于每个时代,我有 2 个进度条:train_loader 小批量和 validation_loader 小批量。
代码是这样的:
for epoch in tqdm(range(epochs_num)):
for inputs, labels in tqdm(train_loader, "Train progress", leave=False):
# train...
with torch.no_grad():
for inputs, labels in tqdm(validation_loader, "Validation progress", leave=False):
# calc validation loss
使用 leave
参数,进度条在每个 epoch 都删除,但我想在验证过程结束后立即删除它们 togather。
有什么办法吗?
谢谢
您可以重新使用进度条并像这样手动进行更新:
epochs = tqdm(range(epochs_num), desc="Epochs")
training_progress = tqdm(total=training_batch_size, desc="Training progress")
validation_progress = tqdm(total=validation_batch_size, desc="Validation progress")
for epoch in epochs:
training_progress.reset()
validation_progress.reset()
for inputs, labels in train_loader:
# train...
training_progress.update()
with torch.no_grad():
for inputs, labels in validation_loader:
# calc validation loss
validation_progress.update()
如果批量大小不总是相同,您可以即时计算它们并调用 reset(total=new_size)
。
我正在尝试使用 tqdm 打印训练进度条。
我想跟踪时代的进步,对于每个时代,我有 2 个进度条:train_loader 小批量和 validation_loader 小批量。
代码是这样的:
for epoch in tqdm(range(epochs_num)):
for inputs, labels in tqdm(train_loader, "Train progress", leave=False):
# train...
with torch.no_grad():
for inputs, labels in tqdm(validation_loader, "Validation progress", leave=False):
# calc validation loss
使用 leave
参数,进度条在每个 epoch 都删除,但我想在验证过程结束后立即删除它们 togather。
有什么办法吗?
谢谢
您可以重新使用进度条并像这样手动进行更新:
epochs = tqdm(range(epochs_num), desc="Epochs")
training_progress = tqdm(total=training_batch_size, desc="Training progress")
validation_progress = tqdm(total=validation_batch_size, desc="Validation progress")
for epoch in epochs:
training_progress.reset()
validation_progress.reset()
for inputs, labels in train_loader:
# train...
training_progress.update()
with torch.no_grad():
for inputs, labels in validation_loader:
# calc validation loss
validation_progress.update()
如果批量大小不总是相同,您可以即时计算它们并调用 reset(total=new_size)
。