Python tqdm输出的说明。

tux*_*dna 9 python tqdm

我在python中有一个使用tqdm输出进度条的程序,如下所示:

  0%|          |   1/782 [00:02<31:00,  2.38s/it, loss=0.763 ]
 17%|??        | 134/782 [00:19<01:21,  7.98it/s, loss=0.375 ]
100%|??????????| 782/782 [03:50<00:00,  2.73it/s, loss=0.0193]
100%|??????????| 779/782 [03:47<00:00,  4.33it/s, loss=0.0175]
100%|??????????| 780/782 [03:48<00:00,  4.08it/s, loss=0.0172]
100%|??????????| 781/782 [03:48<00:00,  3.83it/s, loss=0.0195]
Run Code Online (Sandbox Code Playgroud)

让我们进入第二行:

 17%|??        | 134/782 [00:19<01:21,  7.98it/s, loss=0.375 ]
Run Code Online (Sandbox Code Playgroud)

字段顺序为:

  • 17%:完成百分比。
  • |?? | : 进度条
  • 134/782:迭代的项目数超过了项目总数。
  • [00:19<01:21, 7.98it/s, loss=0.375 ]:让我们分别在下面进行分解。
    • 00:19<01:21<<HERE>>无法解决这个问题。
    • 7.98it/s:每秒迭代
    • loss=0.375:正如标签上所说,这是损失。

我知道它显示进度和统计信息,例如每秒迭代,获得的损失等。但是,我无法准确地说出这种时间格式(00:19<01:21例如)在每一行中代表什么?该<标志表示什么?

yos*_*e_k 15

在源代码[1]中的format_meter方法中有关于它的注释,它指的是 {elapsed}<{remaining}

[1] https://github.com/tqdm/tqdm/blob/master/tqdm/_tqdm.py

  • 更新链接:https://github.com/tqdm/tqdm/blob/master/tqdm/std.py#L394 (2认同)

Dan*_*guy 9

中的值 00:1900:19<01:21, 7.98it/s是已用时间,而值 1:21 是根据每秒迭代次数值计算的剩余时间。因此,它不是一个静态值。