pythontqdm库的使⽤
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}]
random python
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()))
以上就是python tqdm库的使⽤的详细内容,更多关于python tqdm库的资料请关注其它相关⽂章!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。