python中tqdm使用,對于for和while下的兩種不同情況問題
python tqdm使用,對于for和while下兩種不同情況
while,for中使用tqdm
關于"while:"

關于"for:"

結(jié)論
進度條出現(xiàn)的形式不一樣
使用tqdm繪制進度條的三種方法
tqdm簡介
tqdm是一個python進度條庫,可以在 Python長循環(huán)中添加一個進度提示信息。

3種使用方法
1.tqdm(range)-自動更新
import time
from tqdm import range
# 自動更新
for i in tqdm(range(10)): # 共可以更新10次進度條
time. Sleep(0.5) # 每次更新間隔0.5s
range(10)意味著這里的進度條可以更新10次,由于這里是自動更新,所以一次循環(huán)就會更新進度條1,每次更新間隔0.5s。
2.trange()-自動更新
import time
from tqdm import trange
for i in trange(10):
time.sleep(0.5)
這個的效果和方法1一樣。
3.手動控制更新
from tqdm import tqdm
# 用with語句,進度條完成后會自動關閉
with tqdm(total=10) as pbar:
for i in range(10):
time. Sleep(0.5)
pbar.update(1)
# 變量在外部創(chuàng)建,進度結(jié)束后手動關閉
phar = tqdm(total=100)
for i in range(100):
time.sleep(0.1)
phar.update(1)
phar.close()這里的total=10意味著這里的進度條可以更新十次,由于這里是手動更新,需要使用update()方法,update(1)意味著每次更新進度1,每次更新間隔0.5s。

應用舉例
以方法3在有關代碼中的使用為例,其代碼可以這樣寫:
# 開始訓練
for epoch in range(num_epochs):
train_l_sum, train_acc_sum, n, start = 0.0, 0.0, 0, time. Time()
with tqdm(total=468, desc="Epoch: %d" % epoch) as pbar:
for idx, (X, y) in enumerate(train_iter, 0):
X = X.to(device)
y = y.to(device)
y_hat = net(X)
l = loss(y_hat, y).sum()
optimizer.zero_grad()
l.backward()
optimizer. Step()
train_l_sum += l.item()
train_acc_sum += (y_hat.argmax(dim=1) == y).float().sum().item()
n += y.shape[0]
pbar.update(1) # 更新一次進度1
test_acc = evaluate_accuracy(test_iter, net)
# 在進度條上顯示有關信息
pbar.set_postfix({
'loss': '%.4f' % (train_l_sum / n),
'train acc': '%.3f' % (train_acc_sum / n),
'test acc': '%.3f' % test_acc ,
'time': '%.1f time. Time.time() - start)
})總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python實現(xiàn)學生管理系統(tǒng)開發(fā)
這篇文章主要為大家詳細介紹了python實現(xiàn)學生管理系統(tǒng)開發(fā),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-07-07
python?中defaultdict()對字典進行初始化的用法介紹
這篇文章主要介紹了python?中defaultdict()對字典進行初始化,一般情況下,在使用字典時,先定義一個空字典(如dict_a?=?{}),然后往字典中添加元素只需要?dict_a[key]?=?value即可,本文通過實例代碼介紹具體用法,需要的朋友可以參考下2022-07-07
從Pytorch模型pth文件中讀取參數(shù)成numpy矩陣的操作
這篇文章主要介紹了從Pytorch模型pth文件中讀取參數(shù)成numpy矩陣的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Python3+Django get/post請求實現(xiàn)教程詳解
這篇文章主要介紹了Python3+Django get/post請求實現(xiàn)教程詳解,需要的朋友可以參考下2021-02-02

