前言
看别人代码在跑训练时使用了tqdm进行进度显示,于是想学习记录一下
参考blog:
python进度条 tqdm使用教程_tqdm函数-CSDN博客https://blog.csdn.net/winter2121/article/details/111356587
实操
-
简单认识一下显示的含义
-
tqdm() 函数主要参数与解释、返回的是个啥
参数
iterable=None,可迭代对象。
desc=None,传入str类型,作为进度条标题。
total=None,预期的迭代次数。一般不填,默认为iterable的长度。
leave=True,迭代结束时,是否保留最终的进度条。默认保留。
file=None,输出指向位置,默认是终端,一般不需要设置。
ncols=None,可以自定义进度条的总长度
unit,描述处理项目的文字,默认’it’,即100it/s;处理照片设置为’img’,则为100img/s
postfix,以字典形式传入详细信息,将显示在进度条中。例如postfix={'value': 520}
unit_scale,自动根据国际标准进行项目处理速度单位的换算,例如100000it/s换算为100kit/s
返回的是一个可显示进度的可迭代对象
样例:
模型训练运用
只需要将原先的dataloader用dqdm进行包装一下、并设置set_description()和set_postfix()即可
loop = tqdm((train_dataloader),total=len(train_dataloader))
for data in loop:
。
。
。
loop.set_description(f'[{i}/{epoch}]')
loop.set_postfix(loss=loss.item())
显示结果: