您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關tqdm庫如何在python項目中使用 ,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
Tqdm庫比較常用,用于顯示進度條。
簡單用法:
from tqdm import tqdm for i in tqdm(range(2)): pass
100%|███████████████████| 2/2 [00:00<00:00, 1998.72it/s]
??從上面可以看到生成一個長度為2的列表傳入tqdm中,在for中迭代,此時輸出了進度條,這里tqdm全部使用了默認參數,默認進度條樣式就是如上所示;通常默認進度條所輸出的信息并不滿足我們的需求,tqdm還可以定制進度條樣式;
??tdqm數據參數支持的數據類型是可迭代的對象iterable,在Python中默認的可迭代對象有:list、str、tuple、dict、file、xrange等,當然還有自定義可迭代對象;
tqdm參數
desc=None, str類型,作為進度條說明 total=None, 預期的迭代次數 file=None, 輸出方式,默認為sys.stderr ncols=None, 進度條長度 mininterval=0.1, 進度條最小的更新間隔,單位秒,默認:0.1 maxinterval=10.0, 進度條最大更新間隔,單位秒,默認:10 unit='it', 單位,默認it每秒迭代數 bar_format=None, 進度條格式 postfix 字典形式信息,例如:速度=5
??這些參數為相對比較常用的參數,并且全部都是可選參數;在自定義進度條當中比較重要的的一個參數為:bar_format,用于定義進度條的具體格式,所包含的具體數據信息;
??下面主要介紹這個參數的具體用法;
Specify a custom bar string formatting. May impact performance. [default: '{l_bar}{bar}{r_bar}'], where l_bar='{desc}: {percentage:3.0f}%|' and r_bar='| {n_fmt}/{total_fmt} [{elapsed}<{remaining}, ' '{rate_fmt}{postfix}]' Possible vars: l_bar, bar, r_bar, n, n_fmt, total, total_fmt, percentage, elapsed, elapsed_s, ncols, nrows, desc, unit, rate, rate_fmt, rate_noinv, rate_noinv_fmt, rate_inv, rate_inv_fmt, postfix, unit_divisor, remaining, remaining_s. Note that a trailing ": " is automatically removed after {desc} if the latter is empty.
上面為tqdm對bar_format的參數描述;從中可看出:
進度條默認格式為: {l_bar}{bar}{r_bar}
進度條分為三部分: 中間的圖形(bar),圖形左邊(l_bar)、圖形右邊(r_bar)
l_bar: {desc}: {percentage:3.0f}%|
bar: 進度條
r_bar: |{n_fmt}/{total_fmt}[{elapsed}<{remaining},{rate_fmt}{postfix}]
100%|█████████████████| 3/3 [00:03<00:00, 1.00s/it]
percentage:百分比 n_fmt:當前數 total_fmt:總數 elapsed:消耗的時間 remaining:剩余時間 rate_fmt:速率 postifx:后綴字典描述 desc、postfix默認為空;
自定義進度條:
1、bar_format=
'進度:{percentage:3.0f}%|{bar}|{n}/{total}[{elapsed}<{remaining},{rate_fmt}{postfix}]'
進度:100%|████████████████████|3/3[00:03<00:00, 1.00s/it]
2、bar_format='進度:{percentage:3.0f}%|{bar}|{n}/{total}[{rate_fmt}{postfix}]'
進度:100%|████████████████████|3/3[ 1.00s/it]
批量數據進度條
import numpy as np from torch.utils.data import DataLoader import time from tqdm import tqdm, tqdm_notebook from random import random data =np.array([1,2,3,4]) data_loader = DataLoader(data, batch_size=2, num_workers=0, shuffle=False) iterator = tqdm(data_loader,maxinterval=10, mininterval=2, ncols=80, bar_format='{l_bar}|{bar}| {n_fmt}/{total_fmt} [{rate_fmt}{postfix}|{elapsed}<{remaining}]', nrows=10,smoothing=0.1) epoch =0 for d in iterator: time.sleep(2) epoch +=1 print(d) iterator.set_description('epoch %d' %epoch) iterator.set_postfix_str('loss={:^7.3f}'.format(random()))
關于tqdm庫如何在python項目中使用 就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。