如何禁用TQM的progressbar,并在Pytorch Lightning(或TQM中一般)中仅保留文本信息

2024-10-01 15:48:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理Pytorchlightning,TQM的progressbar非常有缺陷,它不断地从短到长来回调整大小,使得读取日志文本非常不愉快,我意识到progressbar并不是真正必要的,我只想保留有关当前纪元、当前批次、准确性、损失等的信息

从我的搜索中,您似乎可以禁用整个tqdm显示(progressbar和文本),但我如何才能有选择地仅禁用progressbar而不禁用文本


Tags: 文本信息损失准确性意识tqdm选择地progressbar
1条回答
网友
1楼 · 发布于 2024-10-01 15:48:11

禁用“仪表”(同时保留统计数据的显示)的tqdm方法是设置ncols=0dynamic_ncols=False(请参见tqdm documentation

自定义pytorch_lightning中默认进度条行为的方法是在构建Trainer时将自定义^{}作为回调传入

将两者结合起来,如果您想在培训期间修改进度条,可以执行以下操作:

import pytorch_lightning as pl
from pytorch_lightning.callbacks import ProgressBar


class MeterlessProgressBar(ProgressBar):

    def init_train_tqdm(self):
        bar = super().init_train_tqdm()
        bar.dynamic_ncols = False
        bar.ncols = 0
        return bar

bar = MeterlessProgressBar()
trainer = pl.Trainer(callbacks=[bar])

您可以通过分别重写:init_sanity_tqdminit_predict_tqdminit_validation_tqdminit_test_tqdm来分别自定义健全性检查、预测、验证和测试。(如果您想对所有进度条进行快速和肮脏的方式,您可以考虑重写^{}方法。)

相关问题 更多 >

    热门问题