簡體   English   中英

在 tqdm 中構建帶有后綴的嵌套進度條

[英]Building a nested progress bar with postfixes in tqdm

我知道如何使用 tqdm 構建嵌套進度條。

from tqdm import trange 
from time import sleep
for i in trange(10, desc='1st loop'):
    for j in trange(5, desc='2nd loop', leave=False):
        for k in trange(100, desc='3nd loop'): sleep(0.01)

我現在也如何向欄添加后綴和描述

from tqdm import trange 
from random import random, randint 
from time import sleep 
with trange(100) as t: 
    for i in t: 
         t.set_description('GEN %i' % i) 
         t.set_postfix(loss=random(),  gen=randint(1,999), str='h', lst=[1, 2])   
         sleep(0.1)

如何向 tqdm 中的嵌套進度條添加描述和后綴? 我想為每個嵌套條添加獨立的后綴。

嵌套工作正常:

from tqdm import trange
from time import sleep

n_epochs, n_steps = 5, 100
with trange(1, n_epochs + 1, desc="All epochs") as epochs:
    for epoch in epochs:
        with trange(1, n_steps + 1, desc="Epoch {}/{}".format(epoch, n_epochs)) as steps:
            for step in steps:
                epochs.set_postfix(foo=epoch * n_steps + step)
                steps.set_postfix(bar="hello {}".format(step), baz=1 / step)
                sleep(0.01)

編輯

運行時的輸出如下所示(在本例中,我們處於第三個時期的中間):

Epoch 1/5: 100%|██████| 100/100 [00:01<00:00, 81.41it/s, bar=hello 100, baz=0.01]
Epoch 2/5: 100%|██████| 100/100 [00:01<00:00, 81.04it/s, bar=hello 100, baz=0.01]
All epochs:  40%|█████████▍              | 2/5 [00:03<00:04,  1.26s/it, foo=349]
Epoch 3/5:  48%|███▎  | 48/100 [00:00<00:00, 79.08it/s, bar=hello 49, baz=0.0204]

最后看起來像這樣:

Epoch 1/5: 100%|██████| 100/100 [00:01<00:00, 81.41it/s, bar=hello 100, baz=0.01]
Epoch 2/5: 100%|██████| 100/100 [00:01<00:00, 81.04it/s, bar=hello 100, baz=0.01]
Epoch 3/5: 100%|██████| 100/100 [00:01<00:00, 80.23it/s, bar=hello 100, baz=0.01]
Epoch 4/5: 100%|██████| 100/100 [00:01<00:00, 80.27it/s, bar=hello 100, baz=0.01]
Epoch 5/5: 100%|██████| 100/100 [00:01<00:00, 80.20it/s, bar=hello 100, baz=0.01]
All epochs: 100%|█████████████████████████| 5/5 [00:06<00:00,  1.24s/it, foo=600]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM