python中tqdm使用,對(duì)于for和while下的兩種不同情況問(wèn)題
python tqdm使用,對(duì)于for和while下兩種不同情況
while,for中使用tqdm
關(guān)于"while:"

關(guān)于"for:"

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

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

應(yīng)用舉例
以方法3在有關(guān)代碼中的使用為例,其代碼可以這樣寫(xiě):
# 開(kāi)始訓(xùn)練
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) # 更新一次進(jìn)度1
test_acc = evaluate_accuracy(test_iter, net)
# 在進(jìn)度條上顯示有關(guān)信息
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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實(shí)現(xiàn)學(xué)生管理系統(tǒng)開(kāi)發(fā)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)學(xué)生管理系統(tǒng)開(kāi)發(fā),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07
基于Python制作一個(gè)簡(jiǎn)單的文章搜索工具
這篇文章主要為大家詳細(xì)介紹了如何基于Python制作一個(gè)簡(jiǎn)單的文章搜索工具,都是一些基礎(chǔ)的應(yīng)用,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-05-05
python?中defaultdict()對(duì)字典進(jìn)行初始化的用法介紹
這篇文章主要介紹了python?中defaultdict()對(duì)字典進(jìn)行初始化,一般情況下,在使用字典時(shí),先定義一個(gè)空字典(如dict_a?=?{}),然后往字典中添加元素只需要?dict_a[key]?=?value即可,本文通過(guò)實(shí)例代碼介紹具體用法,需要的朋友可以參考下2022-07-07
從Pytorch模型pth文件中讀取參數(shù)成numpy矩陣的操作
這篇文章主要介紹了從Pytorch模型pth文件中讀取參數(shù)成numpy矩陣的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
Python實(shí)現(xiàn)將長(zhǎng)圖制作成一個(gè)視頻
這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)將一個(gè)長(zhǎng)圖制作成一個(gè)視頻,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05
Python3+Django get/post請(qǐng)求實(shí)現(xiàn)教程詳解
這篇文章主要介紹了Python3+Django get/post請(qǐng)求實(shí)現(xiàn)教程詳解,需要的朋友可以參考下2021-02-02

