python中tqdm使用,对于for和while下的两种不同情况问题

 更新时间:2023年08月03日 10:55:57   作者:大橙子的笔记  
这篇文章主要介绍了python中tqdm使用,对于for和while下的两种不同情况问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python tqdm使用,对于for和while下两种不同情况

while,for中使用tqdm

关于"while:"

使用while

关于"for:"

使用for

结论

进度条出现的形式不一样

使用tqdm绘制进度条的三种方法

tqdm简介

tqdm是一个python进度条库,可以在 Python长循环中添加一个进度提示信息。

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次,由于这里是自动更新,所以一次循环就会更新进度条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)
# 变量在外部创建,进度结束后手动关闭
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数据结构与算法之图的基本实现及迭代器实例详解

    Python数据结构与算法之图的基本实现及迭代器实例详解

    这篇文章主要介绍了Python数据结构与算法之图的基本实现及迭代器,结合实例形式详细分析了数据结构与算法中图的实现及迭代器相关算法原理与操作技巧,需要的朋友可以参考下
    2017-12-12
  • Pytorch中的广播机制详解(Broadcast)

    Pytorch中的广播机制详解(Broadcast)

    这篇文章主要介绍了Pytorch中的广播机制详解(Broadcast),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • 使用Python实现一个蔡徐坤大战篮球的小游戏(推荐)

    使用Python实现一个蔡徐坤大战篮球的小游戏(推荐)

    这篇文章主要介绍了用Python实现一个蔡徐坤大战篮球的小游戏,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • Python使用eval函数解析和执行字符串

    Python使用eval函数解析和执行字符串

    在Python中,eval函数是一个非常强大的函数,它可以将字符串作为代码进行解析和执行,本文主要介绍了如何使用eval函数解析和执行字符串,需要的可以了解下
    2024-01-01
  • Python列表中多元素删除(移除)的实现

    Python列表中多元素删除(移除)的实现

    本文主要介绍了Python列表中多元素删除(移除)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • python实现ROA算子边缘检测算法

    python实现ROA算子边缘检测算法

    这篇文章主要为大家详细介绍了python实现ROA算子边缘检测算法,以光学图像为例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • 使用TensorFlow对图像进行随机旋转的实现示例

    使用TensorFlow对图像进行随机旋转的实现示例

    这篇文章主要介绍了使用TensorFlow对图像进行随机旋转的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • python表格存取的方法

    python表格存取的方法

    这篇文章主要为大家详细介绍了python表格存取的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • python vertibi算法实现原理解析

    python vertibi算法实现原理解析

    这篇文章主要为大家介绍了python vertibi算法实现原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 基于python实现井字棋小游戏

    基于python实现井字棋小游戏

    这篇文章主要为大家详细介绍了python实现井字棋小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03

最新评论