tqdm 是一种呈现循环进度的工具包,本文讲讲述他的常用用法。
Example 1
假设FL框架中一共有10个用户,每次随机抽取5个用户进行更新,一共训练6个epochs,结合tqdm显示训练进程的代码框架如下:
for epoch in range(6):
print("epoch:", epoch)
for idx in tqdm(np.random.choice(range(10), 5, replace=False), desc='Epoch:%d, lr:%f' % (100, 0.5)):
print(idx)
#time.sleep(2)
out:
如果说我添加一行 time.sleep(2)
,那效果就不一样了:
for epoch in range(6):
print("epoch:", epoch)
for idx in tqdm(np.random.choice(range(10), 5, replace=False), desc='Epoch:%d, lr:%f' % (100, 0.5)):
print(idx)
time.sleep(2)
这时候由于字循环也需要时间,它就会慢慢的打印出子循环的进度条: