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库的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python Multiprocessing多进程 使用tqdm显示进度条的实现

    1.背景 在python运行一些,计算复杂度比较高的函数时,服务器端单核CPU的情况比较耗时,因此需要多CPU使用多进程加快速度 2.函数要求 笔者使用的是:pathos.multiprocessing 库,进度条显示用tqdm库,安装方法: pip install pathos 安装完成后 from pathos.multiprocessing import ProcessingPool as Pool from tqdm import tqdm 这边使用pathos的原因是因为,multip

  • 使用tqdm显示Python代码执行进度功能

    在使用Python执行一些比较耗时的操作时,为了方便观察进度,通常使用进度条的方式来可视化呈现.Python中的tqdm就是用来实现此功能的. 先来看看tqdm的进度条效果: tqdm的基本用法 tqdm最主要的用法有3种,自动控制.手动控制或者用于脚本或命令行. 自动控制运行 最基本的用法,将tqdm()直接包装在任意迭代器上. from tqdm import tqdm import time text = "" for char in tqdm(["a", &

  • python tqdm实现进度条的示例代码

    一.前言 \quad \quad 有时候在使用Python处理比较耗时操作的时候,为了便于观察处理进度,这时候就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况.这对于第三方库非常丰富的Python来说,想要实现这一功能并不是什么难事. \quad \quad tqdm就能非常完美的支持和解决这些问题,可以实时输出处理进度而且占用的CPU资源非常少,支持循环处理.多进程.递归处理.还可以结合linux的命令来查看处理情况,等进度展示. 我们先来看一下进度条的效果. from tq

  • python3中TQDM库安装及使用详解

    在一众有趣的Python库中,TQDW也算是独树一帜了,原因主要是因为自身所存在的功能效果,比如我们如果在写项目,往往会忘记我们要完成多少量,而这个库主要就是帮我们实时掌握进度,现在这样跟大家讲解,是不是都来了兴趣呢?因此,那就开启本章正题,给大家详解TQDM库的安装及使用. 先来说下安装,常用方式: pipinstall tqdm 当for循环使用range函数时,只是把它替换为tqdm中的trange即可. fromtqdm import trangefor i in trange(100)

  • python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)

    默认的tqdm的滚动条的宽度很大,所以会使得总长度超过窗口一行所能显示的量,所以发生上下滚动 解决方法:初始化tqdm时,初始化行数参数ncols=10,这个值可以自己调:尽量大到不能引起上下滚动,同时满足美观的需求. 原来的代码 from tqdm import tqdm import time for i in tqdm(range(10000)): time.sleep(0.001) 原来的效果 讲解:多行滚动,虽然能记录下每次迭代的信息,但如果这些信息对你来说不重要,这种上下滚动方式比较

  • 详细介绍Python进度条tqdm的使用

    前言 有时候在使用Python处理比较耗时操作的时候,为了便于观察处理进度,这时候就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况.这对于第三方库非常丰富的Python来说,想要实现这一功能并不是什么难事. tqdm就能非常完美的支持和解决这些问题,可以实时输出处理进度而且占用的CPU资源非常少,支持windows.Linux.mac等系统,支持循环处理.多进程.递归处理.还可以结合linux的命令来查看处理情况,等进度展示. 大家先看看tqdm的进度条效果 安装 github

  • 6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)

    在项目开发过程中加载.启动.下载项目难免会用到进度条,如何使用Python实现进度条呢? 这里为小伙伴们分享四种Python实现进度条的库:Progress库.tqdm库.alive-progress库和PySimpleGUI库,其中前三个是文本进度条库,最后一个是可以在GUI上运行的进度条. 1.Progress库 Progress是一种文本进度条库,库详细说明参加GitHub. 使用库之前需要进行安装,pip指令如下所示: pip install progressbar2 实现总耗时1S的进

  • python 解决tqdm模块不能单行显示的问题

    OS: Windows 10 IDE: Anaconda Spyder (Python3.6) 代码如下: from tqdm import tqdm for i in tqdm(range(len(data))): 问题: 第一次运行时进度条正常显示: 手动(Ctrl+C)停止后,第二次运行变成每次循环新建一行: 第三次运行中间空了一行: GitHub上找原因,总结如下: 有些IDE不支持回车(CR),导致每次新的进度条不能覆盖旧的进度条.但Spyder是支持的,出现问题的原因可能是手动终止进

  • python的Tqdm模块的使用

    Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator). 我的系统是window环境,首先安装python,接下来就是pip. pip安装: 在python根目录下创建一个get-pip.py的文件,内容: https://bootstrap.pypa.io/get-pip.py 然后在CMD窗口进入python下面: 输出: python -m pip install -U pip 由于Tq

  • 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还可以定制进度条样式:   

  • 10个顶级Python实用库推荐

    为什么我喜欢Python?对于初学者来说,这是一种简单易学的编程语言,另一个原因:大量开箱即用的第三方库,正是23万个由用户提供的软件包使得Python真正强大和流行. 在本文中,我挑选了15个最有用的软件包,介绍它们的功能和特点. 1. Dash Dash 是一个用于构建基于 Web 的应用程序的 Python 库,无需 JavaScript . Dash 同时也是用于创建分析 Web 应用程序的用户界面库.那些使用 Python 进行数据分析.数据挖掘.可视化.建模.仪器控制和报告的人可以立

  • Python 高级库15 个让新手爱不释手(推荐)

    在本文中,我挑选了15个最有用的软件包,介绍它们的功能和特点 1. Dash Dash 是比较新的软件包,它是用纯 Python 构建数据可视化 app 的理想选择,因此特别适合处理数据的任何人.Dash 是 Flask,Plotly.js 和 React.js 的混合体. 图片 2. Pygame Pygame 是 SDL 多媒体库的 Python 装饰器,SDL(Simple DirectMedia Layer)是一个跨平台开发库,旨在提供对以下内容的低级接口: 音频 键盘 鼠标 游戏杆 基

  • 利用python微信库itchat实现微信自动回复功能

    前言 在论坛上看到了用Python登录微信并实现自动签到,才了解到一个新的Python库: itchat 利用Python 微信库itchat,可以实现自动回复等多种功能,好玩到根本停不下来啊,尤其是调戏调戏不懂计算机的,特别有成就感,哈哈!! 代码如下: #coding=utf8 import requests import itchat KEY = '8edce3ce905a4c1dbb965e6b35c3834d' def get_response(msg): apiUrl = 'http

  • 使用Python标准库中的wave模块绘制乐谱的简单教程

    在本文中,我们将探讨一种简洁的方式,以此来可视化你的MP3音乐收藏.此方法最终的结果将是一个映射你所有歌曲的正六边形网格地图,其中相似的音轨将处于相邻的位置.不同区域的颜色对应不同的音乐流派(例如:古典.嘻哈.重摇滚).举个例子来说,下面是我所收藏音乐中三张专辑的映射图:Paganini的<Violin Caprices>.Eminem的<The Eminem Show>和Coldplay的<X&Y>. 为了让它更加有趣(在某些情况下更简单),我强加了一些限制.

  • Python标准库之sqlite3使用实例

    Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.SQLite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具.SQLite还在其它领域有广泛的应用,比如HTML5和移动端.Python标准库中的sqlite3提供该数据库的接口. 我将创建一个简单的关系型数据库,为一个书店存储书的分类和价格.数据库中包含两个表:category用于记录分类,book用于记录某个书的信息.一本书归属于某一个分类,因此book有一个外键(foreign key)

  • Python标准库urllib2的一些使用细节总结

    Python 标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如 urllib2 这个 HTTP 客户端库.这里总结了一些 urllib2 的使用细节. 1.Proxy 的设置 2.Timeout 设置 3.在 HTTP Request 中加入特定的 Header 4.Redirect 5.Cookie 6.使用 HTTP 的 PUT 和 DELETE 方法 7.得到 HTTP 的返回码 8.Debug Log Proxy 的设置 urllib2 默认会使用

  • python 第三方库的安装及pip的使用详解

    python是一款简单易用的编程语言,特别是其第三方库,能够方便我们快速进入工作,但其第三方库的安装困扰很多人. 现在安装python时,已经能自动安装pip了 安装成功后,我们可以在Scripts 文件夹下看到pip 使用pip 安装类库也比较简单 pip install ... 即可 以上这篇python 第三方库的安装及pip的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

随机推荐