有没有办法像在 keras 中一样使用 pytorch-ignite 在进度条的末尾编写验证指标?
现在,我正在使用 ProgressBar.log_message(下面的示例)来打印相关指标,但这样做会在每个 epoch 结束时打印在新行上。我希望消息打印在栏的末尾,没有换行符。
@trainer.on(Events.EPOCH_COMPLETED)
def run_evaluator(trainer):
evaluator.run(val_loader)
val_metrics = evaluator.state.metrics
# ProgBar
pbar.log_message(f"Val_loss: {val_metrics['Val_loss']:.2f}")
pbar.log_message(f"RMSE: {val_metrics['RMSE']:.2f}")
为了进一步澄清,这是我现在得到的输出:
Epoch [1/3]: [3/3] 100%|██████████| [00:00/00:00], Train_loss=1.59e+4
Val_loss: 26333.96
RMSE: 72572.66
Epoch [2/3]: [3/3] 100%|██████████| [00:00/00:00], Train_loss=2.35e+4
Val_loss: 25508.46
RMSE: 71426.14
Epoch [3/3]: [3/3] 100%|██████████| [00:00/00:00], Train_loss=2.26e+4
Val_loss: 24721.82
RMSE: 70316.17
这就是我想要的:
Epoch [1/3]: [3/3] 100%|██████████| [00:00/00:00], Train_loss=1.59e+4 Val_loss: 26333.96 RMSE: 72572.66
Epoch [2/3]: [3/3] 100%|██████████| [00:00/00:00], Train_loss=2.35e+4 Val_loss: 25508.46 RMSE: 71426.14
Epoch [3/3]: [3/3] 100%|██████████| [00:00/00:00], Train_loss=2.26e+4 Val_loss: 24721.82 RMSE: 70316.17