实时进度追踪与可视化:Gradio库中的Progress模块详解

news2024/11/24 18:36:31

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️

👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博相关......)👈

博主原文链接:https://www.yourmetaverse.cn/nlp/445/

请添加图片描述

(封面图由文心一格生成)

实时进度追踪与可视化:Gradio库中的Progress模块详解

使用Gradio库中的Progress模块和其__call__和tqdm方法可以实现自定义的进度追踪器。在函数签名中添加一个参数,该参数的默认值设置为gradio.Progress()的实例,即可将Progress追踪器附加到函数中。可以通过调用Progress对象或使用Iterable上的tqdm方法来更新函数中的进度追踪器。目前,进度追踪器仅在使用queue()方法时可用。

下面是一个示例用法:

import gradio as gr
import time

def my_function(x, progress=gr.Progress()):
    progress(0, desc="开始...")
    time.sleep(1)
    for i in progress.tqdm(range(100)):
        time.sleep(0.1)
    return x

gr.Interface(my_function, gr.Textbox(), gr.Textbox()).queue().launch()

在上述示例中,my_function是一个带有进度追踪器的函数。函数中的progress(0, desc="开始...")表示进度追踪器的初始状态,然后通过for循环和tqdm方法迭代并更新进度追踪器。最后,函数返回输入参数x。

Progress的初始化参数track_tqdm可以设置为True,以便在函数中使用tqdm库时追踪其迭代过程。

Progress模块的__call__方法用于更新进度追踪器的进度和消息文本。progress参数可以是一个浮点数(表示完成的进度,取值范围为0到1之间),也可以是一个元组,其中第一个数字表示已完成的步骤数,第二个值表示总步骤数(如果未知则为None),还可以是None(隐藏进度条)。desc参数用于设置描述文本,total参数用于设置估计的总步骤数,unit参数用于设置迭代的单位。

Progress模块的tqdm方法将进度追踪器附加到可迭代对象上,类似于tqdm库的使用方式。iterable参数是要附加进度追踪器的可迭代对象,desc参数用于设置描述文本,total参数用于设置估计的总步骤数,unit参数用于设置迭代的单位。

使用Gradio的Progress模块和其提供的方法,可以方便地实现函数的进度追踪和可视化,为用户提供更好的交互体验。

参数详解

__call__方法参数

参数/方法描述数据类型默认值解释
progress进度的完成度。如果为浮点数,应该在0到1之间。如果为元组,第一个数字表示已完成的步骤数,第二个值表示总步骤数,如果未知则为None。如果为None,则隐藏进度条。float | tuple[int, int|None] | None-进度的完成度。如果为浮点数,应该在0到1之间。如果为元组,第一个数字表示已完成的步骤数,第二个值表示总步骤数,如果未知则为None。如果为None,则隐藏进度条。
desc描述文本。字符串 | NoneNone描述文本。
total预估的总步骤数。整数 | NoneNone预估的总步骤数。
unit迭代的单位。字符串“steps”迭代的单位。

tqdm方法参数

参数/方法描述数据类型默认值解释
iterable要附加进度跟踪器的可迭代对象。可迭代对象 | None-要附加进度跟踪器的可迭代对象。
desc描述文本。字符串 | NoneNone描述文本。
total预估的总步骤数。整数 | NoneNone预估的总步骤数。
unit迭代的单位。字符串“steps”迭代的单位。

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️

👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博相关......)👈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/750930.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【剑指offer】20. 链表中环的入口结点(java)

文章目录 链表中环的入口结点描述输入描述:返回值描述: 示例1示例2示例3思路完整代码 链表中环的入口结点 描述 给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。 数据范围&…

java学习路程之篇五、知识点、变量、标识符、数据类型、Scanner键盘录入

文章目录 1、变量2、标识符3、数据类型4、Scanner键盘录入 1、变量 2、标识符 3、数据类型 4、Scanner键盘录入

twaver——树中选择子网,拓扑中显示子网里面的拓扑

twaver.network.Network.setCurrentSubNetwork ( currentSubNetwork [animate] [finishFunction] ) 将当前子网设置为指定子网,并且可以设置是否有动画效果,而且能指定设置当前子网结束后执行的动作 Parameters: currentSubNetwork twaver.SubNetwork 子…

OSPF(链路状态路由协议)

目录 OSPF(链路状态路由协议) 动态路由评判标准: 1.选路佳 2.收敛快 3.资源占用(越小越好) 相同于不同 RIP 和OSPF相同点: RIP 和OSPF不同点: 结构部署:区域规划 OSPF区域划…

4G 网络跟 5G 的区别

4G网络和5G网络是两种不同的移动通信技术,它们在数据传输速度、延迟、连接密度和网络容量等方面存在一些区别。以下是它们之间的主要区别: 1. 速度:5G网络的速度比4G网络更快。5G网络具备更广的频段和更高的频率,能够提供更大的带…

上位机一般的开发工具?

上位机开发工具是用于开发和构建上位机应用程序的软件工具。它们提供了一系列功能和资源,帮助开发人员设计、编写和调试上位机应用程序。以下是一些常见的上位机开发工具:Visual Studio:作为一种集成开发环境(IDE)&…

shardingsphere mybatisplus properties和yml配置实现

shardingsphere mybatisplus properties和yml配置实现 目录结构 model package com.oujiong.entity; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.util.Date;/*** user表*/ TableName("user") Data public class Use…

CSS整段文字缩进(一段多行文字中首列位置相对应)

<style>p {text-align: justify;padding-left: 2em;} </style>

webpack5性能优化

webpack构建速度 一、优化babel-loader 注意&#xff1a;开启缓存,配置后打包是就能缓存babel webpack.common.js文件命中缓存cacheDirectory {test: /\.js$/,use: [babel-loader?cacheDirectory],include: srcPath,exclude: /node_modules/ }, 测试&#xff1a; 打包后的…

ChatGLM-6B+LangChain实战

目标&#xff1a;原始使用ChatGLM-6B可接受的文字长度有限&#xff0c;打算结合LangChain实现长文本生成摘要. 方法&#xff1a; step1&#xff1a;自定义一个GLM继承LangChain中的langchain.llms.base.LLM&#xff0c;load自己的模型. step2&#xff1a;使用LangChain的mapred…

Web前端 Day 5

js初体验 使得代码可以具有某些行为 <body><button>点击我变成粉色</button><script>const btn document.querySelector(button)btn.addEventListener(click, () > {btn.style.backgroundColor pink ​})</script> </body> 效果图…

Maven详见及在Idea中的使用方法[保姆级包学包会]

文章目录 Maven详解1.1 目标1.2 Maven概括1.3 多模块开发1.3.1 pom.xml1.3.2 生命周期1.3.3 依赖特性(多模块1)1.3.4 继承特性(多模块2)1.3.5 dependencyManagement标签1.3.6 Maven-聚合(多模块3)聚合 1.3.6.1聚合总结 Maven详解 1.1 目标 maven是什么?maven能干什么?maven…

java并发编程 10:AQS

目录 什么是AQS原理 什么是AQS juc包的结构如下图&#xff1a; AQS就是AbstractQueuedSynchronizer&#xff0c;是个抽象类&#xff0c;实现了自己的一些方法。它是阻塞式锁和相关的同步器工具的框架。很多并发类都是基于它实现的&#xff0c;如&#xff1a;ReentrantLock、Co…

【力扣刷题 | 第十八天】

目录 前言&#xff1a; 1005. K 次取反后最大化的数组和 - 力扣&#xff08;LeetCode&#xff09; 134. 加油站 - 力扣&#xff08;LeetCode&#xff09; 总结&#xff1a; 前言&#xff1a; 今天随机刷题&#xff0c;不对题型做具体的要求 1005. K 次取反后最大化的数组和 …

Spring5学习笔记--Maven

Spring5学习笔记--Maven Maven高级1 分模块开发1.1 分模块开发设计1.2 分模块开发实现1.2.1 环境准备1.2.2 抽取domain层步骤1:创建新模块步骤2:项目中创建domain包步骤3:删除原项目中的domain包步骤4:建立依赖关系步骤5:编译maven_02_ssm项目步骤6:将项目安装本地仓库 1.2.3 抽…

揭秘GPT-4;Adobe Firefly AI 扩大测试规模

&#x1f989; AI新闻 &#x1f680; Adobe Firefly AI 扩大测试规模&#xff0c;支持100多种语言的输入 摘要&#xff1a;Adobe宣布扩大测试规模&#xff0c;Adobe Firefly AI现在支持100多种语言的 prompts 输入。网页测试版Firefly已经扩充了罗马尼亚语等多种语言&#xf…

layui选项卡演示

layui选项卡演示 .1 引入layui2. 选项卡演示实列3.js分离的代码4运行结果 在前端开发中&#xff0c;选项卡常用于展示多个内容模块&#xff0c;提供用户友好的界面交互方式。layui作为一款简洁易用的前端框架&#xff0c;提供了丰富的组件库&#xff0c;其中包括了强大且易用的…

Html基础知识学习——css精灵

这里写自定义目录标题 定义示例一示例二 定义 将网页用到的图片放在一张图片上&#xff0c;进行定位展示 优点:防止网页http请求次数过多&#xff0c;从而提高页面性能 缺点&#xff1a;降低开发效率。维护难度加大 示例一 使用图 网页制作图 <!DOCTYPE html> <…

AcWing 1273. 天才的记忆—RMQ

题目链接: AcWing 1273. 天才的记忆 问题描述 RMQ是用来求解静态区间最大/小值的算法&#xff0c;静态空间就是数组里的数不会变&#xff0c;动态空间最大/小值可以用线段树或者树状数组来求解。 RMQ算法有点类似与区间DP&#xff0c;RMQ算法的时间复杂度为 O ( n l o g n ) …

三菱 FX三菱PLC以太网通信程序

捷米特三菱FX转以太网通讯处理器是一款经济型的以太网通讯处理器&#xff0c;是为满足日益增多的工厂设备信息化需求&#xff08;设备网络监控和生产管理&#xff09;而设计&#xff0c;用于三菱FX1S/1N/2N/3S/3G/3GA/3GC/3U/3UC系列、汇川、士林AX、禾川、维控等PLC以太网数据…