如何高效使用Python的tqdm库进行进度条管理?

2026-05-05 14:491阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计840个文字,预计阅读时间需要4分钟。

如何高效使用Python的tqdm库进行进度条管理?

`tqdm` 库用于显示进度条,常用于展示任务进度。简单用法如下:

pythonfrom tqdm import tqdmfor i in tqdm(range(2)): pass

结果显示:`100%|||---------------------------| 2/2 [00:00:00, 1998.72it/s]`

从上可以看出,`tqdm` 生成了一个进度条。

如何高效使用Python的tqdm库进行进度条管理?

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()))

以上就是python tqdm库的使用的详细内容,更多关于python tqdm库的资料请关注易盾网络其它相关文章!

本文共计840个文字,预计阅读时间需要4分钟。

如何高效使用Python的tqdm库进行进度条管理?

`tqdm` 库用于显示进度条,常用于展示任务进度。简单用法如下:

pythonfrom tqdm import tqdmfor i in tqdm(range(2)): pass

结果显示:`100%|||---------------------------| 2/2 [00:00:00, 1998.72it/s]`

从上可以看出,`tqdm` 生成了一个进度条。

如何高效使用Python的tqdm库进行进度条管理?

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()))

以上就是python tqdm库的使用的详细内容,更多关于python tqdm库的资料请关注易盾网络其它相关文章!