官方文档

官方github页面

官方文档

实现效果

Screenshot

pycharm中,在深度学习进程中可以将训练过程用进度条的形式展现出来,会让训练界面更加的美观。

image-20220312172010223

安装

pip

1
pip install tqdm

conda

1
conda install -c conda-forge tqdm

其他安装方式参考官方github页面

用法

基于迭代器

1
2
3
4
5
from tqdm import trange
from time import sleep

for i in trange(100):
sleep(0.01)

trange(i)tqdm(range(i))的特殊优化

1
2
3
4
from tqdm import tqdm

for i in tqdm(range(100)):
sleep(0.01)

也可用于嵌套循环

1
2
3
for i in trange(100):
for j in trange(100):
sleep(0.01)

踩过的坑

解决pycharm中进度条以红色错误信息的形式输出:

image-20220312173245660

增加参数 file=sys.stdout,

解决pycharm中进度条并不覆盖输出而是打印多条:

参考issue

image-20220312174434870

增加参数position=0,leave=False,并在编辑运行/调试配置中勾选模拟输出控制台中的终端,并通过设置ncols参数限制进度条宽度

image-20220312174659378

1
2
3
4
5
for i in tqdm(range(100),file=sys.stdout,
position=0,leave=False,ncols=50):
for j in tqdm(range(100),file=sys.stdout,
position=1,leave=False,ncols=50):
sleep(0.01)

最终效果:

image-20220312175237156

常用参数

参考 Paramters

  • disable : bool, optional

    进度条显示开关[默认: False]

  • desc : str, optional

    进度条前缀

  • leave : bool, optional

    [默认: True], 在迭代结束时保留进度条的所有痕迹 若设为None,则仅当position=0时清除痕迹

  • file : io.TextIOWrapper or io.StringIO, optional

    设为[default: sys.stderr],用错误信息的形式输出

    设为sys.stdout,可以正常显示

  • ncols : int, optional

    整行输出信息的宽度

  • position : int, optional

    设置打印进度条的位置(从0开始),可以设置多个进度条

  • colour : str, optional

    [hex (#00ff00), BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE]

  • mininterval : float, optional

    最小的更新时间 [default: 0.1] 秒