序言
在过去一个多月里,我又如期搞砸一些事。
有些事不去做会遗憾,做完也很自责。
经年如此,已经习惯了。
但是这次破三,我一定不会再搞砸了。(FLAG已立,完篇收FLAG)
PS:真的勇士,就要敢往身上插满FLAG!!!
20240313(39日)
单根进度条不重复显示的写法
from tqdm import tqdm
def train(total, epoch):
pbar = tqdm(total=total, bar_format='{l_bar}{r_bar}', dynamic_ncols=True)
pbar.set_description('Epoch {}'.format(epoch))
for i in range(total):
fields = {
'loss': random.random(),
'accuracy': random.random(),
'recall': random.random(),
}
pbar.set_postfix(**fields)
pbar.update()
if __name__ == '__main__':
total = 1024
n_epoch = 16
for epoch in range(1, 1 + n_epoch):
train(total=total, epoch=epoch)
- 注意这种写法要求外循环体
for epoch in range(1, 1 + n_epoch)
中不含有print
的内容, 否则依然会输出很多行; set_description
可以直接用参数tqdm(response.iter_content(self.chunk_size), desc='Download process', total=total)
中的desc
参数取代- 不带有
__len__
方法的迭代器需要手动提供total
参数才能显示进度条。