【问题标题】:tqdm notebook - 2 inner barstqdm 笔记本 - 2 个内条
【发布时间】:2021-05-27 13:55:20
【问题描述】:

我正在尝试使用 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 参数,进度条在每个时期都被删除,但我想在验证过程结束后立即删除它们一起
有什么办法吗?

谢谢

【问题讨论】:

    标签: python pytorch training-data tqdm


    【解决方案1】:

    您可以重复使用进度条并手动进行更新,如下所示:

    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)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      • 2021-06-04
      • 2020-05-14
      • 1970-01-01
      • 1970-01-01
      • 2017-03-21
      • 2021-07-03
      相关资源
      最近更新 更多