python tqdm库的使用


Posted in Python onNovember 30, 2020

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库的使用的详细内容,更多关于python tqdm库的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
浅析Python中的多重继承
Apr 28 Python
在Django的上下文中设置变量的方法
Jul 20 Python
Python中断言Assertion的一些改进方案
Oct 27 Python
Python基础教程之浅拷贝和深拷贝实例详解
Jul 15 Python
Python中enumerate函数代码解析
Oct 31 Python
Python中Threading用法详解
Dec 27 Python
python实现文本界面网络聊天室
Dec 12 Python
对pandas写入读取h5文件的方法详解
Dec 28 Python
详解python statistics模块及函数用法
Oct 27 Python
如何基于python实现脚本加密
Dec 28 Python
anaconda3安装及jupyter环境配置全教程
Aug 24 Python
详解Python遍历列表时删除元素的正确做法
Jan 07 Python
Python+unittest+DDT实现数据驱动测试
Nov 30 #Python
Python logging自定义字段输出及打印颜色
Nov 30 #Python
详解Python中string模块除去Str还剩下什么
Nov 30 #Python
使用django自带的user做外键的方法
Nov 30 #Python
python 实现简易的记事本
Nov 30 #Python
详解pycharm自动import所需的库的操作方法
Nov 30 #Python
Django REST Framework 分页(Pagination)详解
Nov 30 #Python
You might like
IStream与TStream之间的相互转换
2008/08/01 PHP
PHP 如何利用phpexcel导入数据库
2013/08/24 PHP
php遍历类中包含的所有元素的方法
2015/05/12 PHP
PHP计算加权平均数的方法
2015/07/16 PHP
是 WordPress 让 PHP 更流行了 而不是框架
2016/02/03 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
在IE下获取object(ActiveX)的Param的代码
2009/09/15 Javascript
JS类的封装及实现代码
2009/12/02 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
js中一个函数获取另一个函数返回值问题探讨
2013/11/21 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
javascript得到当前页的来路即前一页地址的方法
2014/02/18 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
2015/03/27 Javascript
又一款js时钟!transform实现时钟效果
2016/08/15 Javascript
JavaScript定时器制作弹窗小广告
2017/02/05 Javascript
简述Angular 5 快速入门
2017/11/04 Javascript
微信小程序提取公用函数到util.js及使用方法示例
2019/01/10 Javascript
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
layui之table checkbox初始化时选中对应选项的方法
2019/09/02 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
Python算法之图的遍历
2017/11/16 Python
python pandas cumsum求累计次数的用法
2019/07/29 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
Python环境管理virtualenv&amp;virtualenvwrapper的配置详解
2020/07/01 Python
python 实现性别识别
2020/11/21 Python
css3 transform 3d 使用css3创建动态3d立方体(html5实践)
2013/01/06 HTML / CSS
iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
2020/04/08 HTML / CSS
英国男女奢华内衣和泳装购物网站:Figleaves
2017/01/28 全球购物
工程造价专业大专生求职信
2013/10/06 职场文书
大学生水果店创业计划书
2014/01/28 职场文书
三峡导游词
2015/01/31 职场文书
严以用权学习心得体会
2016/01/12 职场文书