优雅组合,高效交互:Gradio Combining Interfaces模块解析

news2024/9/28 17:25:09

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

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

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

请添加图片描述

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

优雅组合,高效交互:Gradio Combining Interfaces模块解析

Gradio是一个强大的Python库,提供了多种方式来组合和连接不同的接口,以实现更丰富、灵活的交互体验。在本文中,我们将介绍Gradio的Combining Interfaces模块,探讨如何将多个接口串联起来或并行比较它们的输出,以及如何在选项卡布局中展示多个接口。

1. TabbedInterface:选项卡布局

TabbedInterface可以通过提供一个Interface列表来创建,每个Interface都会在一个单独的选项卡中显示。您可以根据需要为每个选项卡指定名称,也可以使用默认的"Tab 1"、"Tab 2"等名称。

示例用法:

import gradio as gr

title = "GPT-J-6B"

tts_examples = [
    "I love learning machine learning",
    "How do you do?",
]

tts_demo = gr.load(
    "huggingface/facebook/fastspeech2-en-ljspeech",
    title=None,
    examples=tts_examples,
    description="Give me something to say!",
)

stt_demo = gr.load(
    "huggingface/facebook/wav2vec2-base-960h",
    title=None,
    inputs="mic",
    description="Let me try to guess what you're saying!",
)

demo = gr.TabbedInterface([tts_demo, stt_demo], ["Text-to-speech", "Speech-to-text"])

if __name__ == "__main__":
    demo.launch()

2. Parallel:并行比较

Parallel可以将多个接口并行比较它们的输出。要将接口放在Parallel中,它们必须共享相同的输入组件,但可以有不同的输出组件。

示例用法:

import gradio as gr

greeter_1 = gr.Interface(lambda name: f"Hello {name}!", inputs="textbox", outputs=gr.Textbox(label="Greeter 1"))
greeter_2 = gr.Interface(lambda name: f"Greetings {name}!", inputs="textbox", outputs=gr.Textbox(label="Greeter 2"))
demo = gr.Parallel(greeter_1, greeter_2)

if __name__ == "__main__":
    demo.launch()

3. Series:串行连接

Series可以将多个接口串行连接在一起,将一个接口的输出作为下一个接口的输入。要使用Series,接口之间的输入和输出组件必须匹配。

示例用法:

import gradio as gr

get_name = gr.Interface(lambda name: name, inputs="textbox", outputs="textbox")
prepend_hello = gr.Interface(lambda name: f"Hello {name}!", inputs="textbox", outputs="textbox")
append_nice = gr.Interface(lambda greeting: f"{greeting} Nice to meet you!",
                           inputs="textbox", outputs=gr.Textbox(label="Greeting"))
demo = gr.Series(get_name, prepend_hello, append_nice)

if __name__ == "__main__":
    demo.launch()

通过Gradio的Combining Interfaces模块,您可以以一种优雅的方式组合多个接口,实现复杂的交互逻辑和布局。无论是在选项卡中展示多个接口,还是在并行比较或串行连接多个接口,Gradio提供了简洁且易用的方法来创建丰富多样的交互式体验。

让我们一起利用Gradio的Combining Interfaces模块,构建出令人惊叹的交互应用,提供更加灵活、高效的用户体验!

参数说明

方法参数数据类型默认值描述
TabbedInterfaceinterface_listlist-要在选项卡中显示的接口列表。
tab_nameslistNone选项卡的名称列表。如果为None,则使用默认的"Tab 1"、"Tab 2"等名称。
titlestrNone接口的标题,如果提供,则显示在输入和输出组件上方,并作为打开浏览器窗口的选项卡标题。
themeThemeNone接口的主题。
analytics_enabledboolNone是否启用基本的遥测。如果为None,则根据GRADIO_ANALYTICS_ENABLED环境变量或默认为True。
cssstrNone自定义的CSS样式或用于整个界面的自定义CSS文件的路径。
Parallelinterfaces--要并行比较的Interface对象列表。
options--传递给新Interface对象的其他kwargs,用于自定义接口。
Seriesinterfaces--要串行连接的Interface对象列表。
options--传递给新Interface对象的其他kwargs,用于自定义接口。

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

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

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

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

相关文章

Jdk9版本以上如何查看java对象所占内存大小

想要查看java对象在运行时的实际占用内存大小。网上大部分方法都是雷同,都是出自 查看java对象所占内存大小-云社区-华为云 这里面的提供的4种方法仅仅适合jdk8及以下版本。 如果项目使用的是dk11、jdk18等高级版本就无法使用,上面帖子中第一种和第二…

蓝奥声核心技术—— 用电异常监控技术

1.技术背景 用电异常监控技术主要通过电能监测节点作为目标监测节点对其关联绑定的用电负载对象的异常状态进行快速响应与准确监控,以解决用电监控的安全性问题。该项技术涉及无线物联网边缘智能与测控的技术领域,主要涉及面向电能监测及安全监控的边缘…

编译原理笔记12:自上而下语法分析(2)非递归预测分析器、FIRST FOLLOW 集合计算

目录 使用预测分析器的自上而下分析格局 使用预测分析器进行分析的实例FIRST、FOLLOW 集合的构造FIRST 集合FOLLOW 集合 使用预测分析器的自上而下分析 使用预测分析器进行的自上而下分析是非递归的。预测分析器模型其实是一种 PDA(下推自动机,Pushdown…

uni-number-box【数字输入框组件】,change事件 自定义传参

关键代码&#xff1a; change"(value)>{twobindChange(item,value)}" <uni-number-box :min"1" :value"item.num" change"(value)>{twobindChange(item,value)}" /><script>//数量选择twobindChange(item, value) …

易语言读写富士通MB89R118卡 NXP15693标签源码

本示例发卡器介绍&#xff1a;Android Linux RFID读写器NFC发卡器WEB可编程NDEF文本/智能海报/-淘宝网 (taobao.com) DLL命令定义表 .版本 2 .DLL命令 蜂鸣器嘀一声, 字节型, "OUR_MIFARE.dll", "pcdbeep" .参数 xms, 整数型 .DLL命令 读取设备编号…

slam中用到的Pangolin安装问题

sudo apt-get install libglew-dev sudo apt-get install cmake sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev cd ~/orbslam_ws/src$ git clone https://github.com/zzx2GH/Pangolin.git把Pangolin/src/CMakeLists.txt注释掉以下…

村田将电动汽车静噪对策用树脂成型表面贴装型MLCC商品化

株式会社村田制作所已开发出电动汽车静噪对策用树脂成型表面贴装型多层陶瓷电容器“EVA系列”。该产品虽然体积小、厚度薄(12.7 x 6.0 x 3.7 mm)&#xff0c;但是仍然确保了高电压负载所需的爬电距离(10 mm)&#xff0c;并且支持国际标准“IEC60384-14”中的Y2级。 ​ 这是一款…

【高性能计算】无监督学习之层次聚类实验

【高性能计算】基于K均值的划分聚类实验 实验目的实验内容实验步骤1、层次聚类算法1.1 层次聚类算法的基本思想1.2 层次聚类的聚类过程 2、使用Python语言编写层次聚类的源程序代码并分析其分类原理2.1 层次聚类 Python代码2.1.1 计算欧式距离函数euler_distance2.1.2 层次聚类…

每一次Http请求,Java线程是如何处理的?

每一次Http请求&#xff0c;Java线程是如何处理的&#xff1f; 文章目录 每一次Http请求&#xff0c;Java线程是如何处理的&#xff1f;前言一、Http请求处理二、两种服务器模型及处理方式1、两种服务&#xff1a;2.更好的处理方式 总结 前言 当我们写好一个项目时&#xff0c…

【go】Excelize处理excel表

文章目录 1 Excelize介绍2 相关需求与实现2.1 数据的excel文件导出2.2 带数据校验的excel文件导出 1 Excelize介绍 Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库。官方文档&#xff1a;https://xuri.me/excelize/zh-hans/ 引入方法 go get "github.com/…

【MYSQL篇】一文了解mysql事务

文章目录 MYSQL事务事务的四大特性1、原子性2、一致性3、隔离性4、持久性 事务的并发1、脏读2、不可重复读3、幻读 隔离级别Read UncommittedRead CommittedRepeatable ReadSerializable MySQL Innodb 对隔离级别的支持实现方案LBCCMVCC 总结 关于 MYSQL 事务在面试的时候&…

软件系统三基座之二:组织架构

软件系统三基座包含&#xff1a;权限管理、组织架构、用户管理。 一、组织的来源 组织是由若干个人或群体所组成的、有共同目标和一定边界的社会实体。组织是为了提升劳动效率而产生的。 从一个日常案例&#xff0c;讲讲组织是如何提升劳动效率的。 唯美食与美景不可辜负&#…

Java 基础进阶篇(十八):正则表达式匹配规则和应用

文章目录 一、正则表达式概述二、正则表达式的匹配规则三、正则表达式在方法中的应用3.1 校验手机号、邮箱和座机电话号码3.2 字符串的内容替换和分割 四、编程题目4.1 表示数值的字符串4.2 非严格递增连续数字序列 一、正则表达式概述 正则表达式是对字符串&#xff08;包括普…

I/O多路转接之select

初识select 系统提供select函数来实现多路复用输入/输出模型&#xff1a; select系统调用是用来让我们的程序监视多个文件描述符的状态变化的;程序会停在select这里等待&#xff0c;直到被监视的文件描述符有一个或多个发生了状态改变; 文章目录 初识select一&#xff1a;Sel…

Goby 漏洞发布|Avaya Aura Device Services r软件 PhoneBackup 任意文件上传漏洞

漏洞名称&#xff1a;Avaya Aura Device Services r软件 PhoneBackup 任意文件上传漏洞 English Name&#xff1a;Avaya Aura Device Services PhoneBackup File Upload Vulnerability CVSS core: 9.0 影响资产数&#xff1a;565 漏洞描述&#xff1a; Avaya Aura Device …

【linux 新机配置】

1&#xff0c;安装 node https://juejin.cn/post/7102790458132135944 2 linux 安装 Yarn https://juejin.cn/post/7102793669425496077 3 安装Nginx 安装 dnf install nginx 启动 systemctl start nginx systemctl status nginx systemctl enable nginx 配置&#xff0…

python机器人编程——差速AGV机器、基于视觉和预测控制的循迹、自动行驶(下篇)

目录 一、前言二、基于轨迹与路面重心偏离度误差的预测自动差速小车循迹控制策略三、轨迹图像的处理要点四、本篇部分核心控制策略python代码&#xff1a;五、结论 一、前言 基于最近的测试&#xff0c;得到了一种粗略控制的算法&#xff0c;其控制效果适合单线路和急转弯的情…

LLM探索:GPT类模型的几个常用参数 Top-k, Top-p, Temperature

Top-k抽样模型从最可能的"k"个选项中随机选择一个如果k10&#xff0c;模型将从最可能的10个单词中选择一个Top-p抽样模型从累计概率大于或等于“p”的最小集合中随机选择一个如果p0.9&#xff0c;选择的单词集将是概率累计到0.9的那部分Temperature控制生成文本随机性…

对比之前的组件优化说明React.memo的作用

我们之前写的react PureComponent讲述了 PureComponent 组件优化特性的强大功能 还有就是 shouldComponentUpdate 生命周期的一个解决方案 那么呢 今天我们要说另一个 也是类似于组件性能优化的新特性 打开我们的react项目 在src下的components创建一个组件 例如 我这里叫 dom…

【C++】-8.2- string〔string类模拟实现〕

文章目录 //模拟实现string类&#xff0c;并完成测试• string类的基本结构• Destructor• Construct〔构造函数〕‹ 无参构造 ›‹ 单参数构造 ›‹ 全缺省参数构造 › 〔拷贝构造〕 • operator 赋值重载• Element access&#xff08;operator[]&#xff09;补充&#xff1…