tqdm 详解

article/2025/9/21 8:35:03

文章目录

  • 1. 简介
  • 2. 使用方法
  • 3. 实例 - 手写数字识别

1. 简介

  tqdm是 Python 进度条库,可以在 Python长循环中添加一个进度提示信息。用户只需要封装任意的迭代器,是一个快速、扩展性强的进度条工具库。

2. 使用方法

  • 传入可迭代对象
import time
from tqdm import *for i in tqdm(range(100)):time.sleep(0.01)
  • trange(i)tqdm(range(i))的简单写法
for t in trange(100):time.sleep(0.01)
  • update()方法手动控制进度条更新的进度
with tqdm(total=200) as pbar:for i in range(20):  # 总共更新 20 次pbar.update(10)  # 每次更新步长为 10time.sleep(1)

或者

pbar = tqdm(total=200)for i in range (20):pbar.update(10)time.sleep(1)pbar.close()
  • write()方法
pbar = trange(10)for i in pbar:time.sleep(1)if not (i % 3):tqdm.write('Done task %i' %i)
  • 通过set_description()set_postfix()设置进度条显示信息
from random import random,randintwith trange(10) as t:for i in t:                t.set_description("GEN %i"%i)  # 进度条左边显示信息        t.set_postfix(loss=random(), gen=randint(1,999), str="h", lst=[1,2])  # 进度条右边显示信息time.sleep(0.1)  

3. 实例 - 手写数字识别

import torch
import torch.nn as nn
import torch.optim as optim
import torch.nn.functional as F
from torch.utils.data import DataLoader
import torchvision.datasets as datasets
import torchvision.transforms as transforms
from tqdm import tqdmclass CNN(nn.Module):def __init__(self,in_channels=1,num_classes=10):super().__init__()self.conv1 = nn.Conv2d(in_channels=1,out_channels=8,kernel_size=(3,3),stride=(1,1),padding=(1,1))self.pool = nn.MaxPool2d(kernel_size=(2,2),stride=(2,2))self.conv2 = nn.Conv2d(in_channels=8,out_channels=16,kernel_size=(3,3),stride=(1,1),padding=(1,1))self.fc1 = nn.Linear(16*7*7,num_classes)def forward(self,x):x = F.relu(self.conv1(x))x = self.pool(x)x = F.relu(self.conv2(x))x = self.pool(x)x = x.reshape(x.shape[0],-1)x = self.fc1(x)return xdevice = torch.device("cuda"if torch.cuda.is_available() else "cpu")in_channels = 1
num_classes = 10
learning_rate = 0.001
batch_size = 64
num_epochs = 5train_dataset = datasets.MNIST(root="dataset/",train=True,transform=transforms.ToTensor(),download=True)
train_loader = DataLoader(dataset=train_dataset,batch_size=batch_size,shuffle=True)test_dataset = datasets.MNIST(root="dataset/",train=False,transform=transforms.ToTensor(),download=True)
test_loader = DataLoader(dataset=train_dataset,batch_size=batch_size,shuffle=True)model = CNN().to(device)criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters(),lr=learning_rate)for index,(data,targets) in tqdm(enumerate(train_loader),total=len(train_loader),leave = True):for data,targets in tqdm(train_loader):# Get data to cuda if possibledata = data.to(device=device)targets = targets.to(device=device)# forwardscores = model(data)loss = criterion(scores,targets)# backwardoptimizer.zero_grad()loss.backward()# gardient descent or adam stepoptimizer.step()

转载自

  1. 【PyTorch总结】tqdm的使用;
  2. Python 超方便的迭代进度条 (Tqdm);

http://chatgpt.dhexx.cn/article/0sCYpDfI.shtml

相关文章

idea方法注释的快捷键设置idea自定义注释设置

作者: yibox_qcby目录 效果展示配置步骤第一步第二步第三步第四步第五步第六步 完成 效果展示 配置步骤 第一步 第二步 第三步 第四步 注意第一行不是/** *** ClassName $className$* Description : 功能说明* $params$* Return : $return$* Author : 作者* Date : $DATE$ $…

idea中使用注释快捷键的问题及解决办法

问题描述 在idea中,使用注释快捷键会产生在注释前面会有缩进,这种缩进对于有着强迫症的我简直受不了 在按照网上其他的教程进行相关设置之后还是出现这样的问题 解决方法 我在使用中偶然发现idea注释的快捷键除了行注释(Ctrl/&#xff…

idea文档注释的快捷键带参数

注意:为了大家能逐步了解 对这个小功能有个熟悉的过程 (其实是作者比较懒 不想从头到尾重新截图 ) 发现问题会在文章未陆续更新 建议把整篇文章都看完 如果懒得看过程 看完开头后 文章最后代码直接复制进去就好了 输入 /** 按回车,当然这肯定…

IDEA设置类和方法的注释快捷键

一、设置类的注释快捷键 1.打开file->setting->Editor->Filr and Code Templates->Includes->File Header,如下图所示: 2.注释模板参考: /**1. description: 2. author: ManolinCoder3. time: ${DATE} */ 3.创建类时候自动…

修改idea快捷键注释样式

打开设置 找到Editor -> Code Style -> Java 以修改xxx.java文件注释样式,点击其它位置,修改其它语言注释样式 找到Code Generation 取消Line comment at first column和Block comment at first column,勾上Add a space at line commen…

idea 方法注释的快捷键设置

1.打开设置setting->Editor->Live Templates 2.然后点击号,选择第二个,设置一个自定义的组,输入名字,这里我叫mytemp 3.选定刚才创建的组,再次点击号,创建一个模板,重点,写模板…

IDEA的三种注释快捷键

一.行注释 1.1快捷键:Ctrl/ 1.2效果演示: 二.块注释 2.1快捷键:CtrlShift/ 2.2效果演示: 三.方法说明注释 3.1快捷键:输入/** ,点击“Enter”,自动根据参数和返回值生成注释模板

【IDEA】idea注释快捷键不生效

文章目录 配置注释快捷键1. 新建 template Group,我这里创建了一个名为 user 的模板组2.创建这个模板组里的快捷键3. 验证4. 成功啦 配置注释快捷键 1. 新建 template Group,我这里创建了一个名为 user 的模板组 2.创建这个模板组里的快捷键 3. 验证 发…

mac下 idea 注释快捷键冲突

你好,我是悦创。 博客首发:https://bornforthis.cn/posts/28.html 打开偏好设置,将冲突的快捷键关掉,就可以解决 idea 使用注释快捷键,会打开 help 页面的问题: 欢迎关注我公众号:AI悦创,有…

idea注释快捷键(三种)

①单行注释 ctrl/ ②多行注释 ctrlshift/ ③文档注释,方法或者累说明注释 /** enter键 扩展:eclipse企业版xml文件注释:

IDEA注释快捷键

IDEA可以使用快捷键添加行注释Ctrl/、块注释CtrlShift/,还可以快速生成类注释、方法注释等,下面就介绍这几种快捷键的用法. 1、Ctrl/ 行注释 2、ctrl shift / 块注释 3、方法或类注释 在一个方法或类的开头,输入/**,然后按回车,自动根据…

idea注释的快捷键三种方式

1、第一种 单行注释(ctrl/ ) 光标处于当前需要写注释的这一行,在这行任何位置都可以,可以调整的,ctrl/ 即可实现单行注释,如图,当想取消时,也可以使用ctrl/取消行注释 2、第二种&a…

IntelliJ IDEA添加注释常用的快捷键

IDEA可以使用快捷键添加行注释Ctrl/、块注释CtrlShift/,还可以快速生成类注释、方法注释等,下面就介绍这几种快捷键的用法. [1]行注释Ctrl/ 首先你的光标要处于这一行,处于这行的哪个位置都可以,按Ctrl/,就可以往行首添加"//"&am…

IDEA中注解注释快捷键及模板

前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看。(点击跳转人工智能学习资料) 文章目录 单行注释多行注释文档注释(块注释)方法说明注解自动…

Kafka详解(包括kafka集群搭建)

目录 一、Kafka简介 Kafka是什么 消息系统简介 点对点消息传递模式 发布-订阅消息传递模式 kafka简单理解 Kafka的优点特点 学Kafka的意义何在 二、常用Message Queue对比 三、Kafka中的术语解释概述 broker Topic Partition Producer Consumer Consumer Group…

Linux - Kafka集群搭建

Linux - Kafka集群搭建 准备&安装配置基本命令 以下操作环境均在Centos7服务器上面,一共三台服务器,11、12、13 准备&安装 官网下载Zookeeper,看准自己需要的版本,我自己这里就下载一个旧的版本使用了(2.11-2…

kafka集群搭建

1、先搭建zookeeper集群 2、kafka集群配置 1、zookeeper zookeeper安装与配置 (1)下载并解压 去下载Index of /apache/zookeeper 在node01 /opt/kafka/下 解压 tar -zxvf zookeeper-3.7.1.tar.gz 和apache-zookeeper-3.7.1-bin.tar.gz mv zookeeper…

kafka详解及集群环境搭建

一、kafka详解 安装包下载地址:https://download.csdn.net/download/weixin_45894220/87020758 1.1Kafka是什么? 1、Kafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目,该项目的目标是为处…

kafka集群搭建超详细教程

kafka集群搭建 前言详细步骤1、下载安装包2、解压3、创建存放kafka消息的目录4、修改配置文件5、分发kafka安装目录6、编写kafka集群操作脚本7、启动kafka集群8、测试创建主题查看主题列表启动控制台生产者启动控制台消费者 前言 大家好,我是风云,欢迎大…

Halcon编程实验-(4)车牌号数字+字母的识别【目的:OCR识别的应用】

程序流程 1.图像采集,确定车牌区域 2.图像矫正,截取车牌区域 3.车牌号码提取 4.车牌号识别 5.车牌号显示 本次实验重点知识:OCR识别的应用 环境 一张含有车牌号的清晰无遮挡照片 原图: 相关代码: dev_updat…