python中tqdm使用,對于for和while下的兩種不同情況問題
python tqdm使用,對于for和while下兩種不同情況
while,for中使用tqdm
關于"while:"
關于"for:"
結論
進度條出現(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)建,進度結束后手動關閉 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) })
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python實現(xiàn)學生管理系統(tǒng)開發(fā)
這篇文章主要為大家詳細介紹了python實現(xiàn)學生管理系統(tǒng)開發(fā),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-07-07python?中defaultdict()對字典進行初始化的用法介紹
這篇文章主要介紹了python?中defaultdict()對字典進行初始化,一般情況下,在使用字典時,先定義一個空字典(如dict_a?=?{}),然后往字典中添加元素只需要?dict_a[key]?=?value即可,本文通過實例代碼介紹具體用法,需要的朋友可以參考下2022-07-07從Pytorch模型pth文件中讀取參數(shù)成numpy矩陣的操作
這篇文章主要介紹了從Pytorch模型pth文件中讀取參數(shù)成numpy矩陣的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03Python3+Django get/post請求實現(xiàn)教程詳解
這篇文章主要介紹了Python3+Django get/post請求實現(xiàn)教程詳解,需要的朋友可以參考下2021-02-02