探索Gradio的CheckboxGroup模块:交互式多选框组件

news2024/12/24 2:41:06

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

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

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

请添加图片描述

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

探索Gradio的CheckboxGroup模块:交互式多选框组件

在现代的数据科学和机器学习应用中,用户交互性成为了重要的一环。Gradio是一个功能强大的开源库,它提供了一种简单的方式来构建和部署自定义的机器学习和数据科学接口。Gradio的CheckboxGroup模块是其中一个强大的组件,它可以创建一个多选框组,允许用户从一组选项中选择一个子集。

CheckboxGroup组件可以通过列表中的选中选项的字符串或索引作为List[str]或List[int]传递给函数,具体取决于type参数的设置。

作为输出,CheckboxGroup组件期望一个List[str],其中的每个元素都会成为一个选中的复选框。

接下来,我们将探索CheckboxGroup组件的使用方法,以及它的change、input和select方法。

使用示例:
以下是一个使用CheckboxGroup组件的例子:

import gradio as gr


def sentence_builder(quantity, animal, countries, place, activity_list, morning):
    return f"""The {quantity} {animal}s from {" and ".join(countries)} went to the {place} where they {" and ".join(activity_list)} until the {"morning" if morning else "night"}"""


demo = gr.Interface(
    sentence_builder,
    [
        gr.Slider(2, 20, value=4, label="Count", info="Choose between 2 and 20"),
        gr.Dropdown(
            ["cat", "dog", "bird"], label="Animal", info="Will add more animals later!"
        ),
        gr.CheckboxGroup(["USA", "Japan", "Pakistan"], label="Countries", info="Where are they from?"),
        gr.Radio(["park", "zoo", "road"], label="Location", info="Where did they go?"),
        gr.Dropdown(
            ["ran", "swam", "ate", "slept"], value=["swam", "slept"], multiselect=True, label="Activity", info="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nisl eget ultricies aliquam, nunc nisl aliquet nunc, eget aliquam nisl nunc vel nisl."
        ),
        gr.Checkbox(label="Morning", info="Did they do it in the morning?"),
    ],
    "text",
    examples=[
        [2, "cat", ["Japan", "Pakistan"], "park", ["ate", "swam"], True],
        [4, "dog", ["Japan"], "zoo", ["ate", "swam"], False],
        [10, "bird", ["USA", "Pakistan"], "road", ["ran"], False],
        [8, "cat", ["Pakistan"], "zoo", ["ate"], True],
    ]
)

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

在这个例子中,我们使用了一个函数sentence_builder作为模型的预测函数,接受多个输入参数。CheckboxGroup组件被用作其中一个输入组件,用于选择一个或多个国家。

方法介绍:

1. change方法

该方法用于监听组件值的变化,无论是因为用户输入还是函数更新触发的。可以在Gradio Blocks中使用该方法。以下是change方法的参数:

  • fn:回调函数,通常是机器学习模型的预测函数。函数的每个参数对应一个输入组件,并且函数应返回单个值或一个与输出组件相对应的元组。

  • inputs:输入组件的列表,用于将其作为输入。如果函数不接受任何输入,应传入一个空列表。

  • outputs:输出组件的列表,用于将其作为输出。如果函数不返回任何输出,应传入一个空列表。

  • 其他参数:用于指定API名称、状态跟踪、滚动到输出组件、显示进度动画等。

2. input方法

该方法用于监听用户对组件值的更改。可以在Gradio Blocks中使用该方法。以下是input方法的参数:

  • fn:回调函数,通常是机器学习模型的预测函数。函数的每个参数对应一个输入组件,并且函数应返回单个值或一个与输出组件相对应的元组。

  • inputs:输入组件的列表,用于将其作为输入。如果函数不接受任何输入,应传入一个空列表。

  • outputs:输出组件的列表,用于将其作为输出。如果函数不返回任何输出,应传入一个空列表。

  • 其他参数:用于指定API名称、状态跟踪、滚动到输出组件、显示进度动画等。

3. select方法

该方法用于监听用户在CheckboxGroup组件中的选择和取消选择。使用事件数据gradio.SelectData来传递所选复选框的标签、索引和状态。以下是select方法的参数:

  • fn:回调函数,通常是机器学习模型的预测函数。函数的每个参数对应一个输入组件,并且函数应返回单个值或一个与输出组件相对应的元组。

  • inputs:输入组件的列表,用于将其作为输入。如果函数不接受任何输入,应传入一个空列表。

  • outputs:输出组件的列表,用于将其作为输出。如果函数不返回任何输出,应传入一个空列表。

  • 其他参数:用于指定API名称、状态跟踪、滚动到输出组件、显示进度动画等。

这些方法为开发人员提供了在用户交互时触发相应的操作的灵活性,从而实现了动态和交互式的应用程序。

结论

通过Gradio的CheckboxGroup组件,我们可以方便地创建一个多选框组,允许用户从一组选项中进行选择。借助change、input和select等方法,我们可以监听组件值的变化,并触发相应的操作。这使得开发人员能够构建出动态、交互式的机器学习和数据科学应用程序。


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

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

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

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

相关文章

详解金融机构敏捷营销落地:体系架构、关键技术和实施方法

本文根据 2023 年金融营销科技价值发现论坛中,神策数据金融首席架构师王仕的主题演讲整理所得,聚焦营销 5.0 理念下的敏捷营销,详细讲解金融机构落地时涉及到的体系架构、关键技术及实施方法。 根据国家发改委官网披露的数据,2022…

macOS编译AirMap开源全景图源码image-processing

1.克隆源码 git clone --recursive https://github.com/airmap/image-processing.git 2. 使用CLion打开CMakeLists.txt并做为工程打开 2.默认配置名为Default,可修改,下面的所有配置项都可改 3.点击OK后会自动生成

青翼自研--4通道DAC播放子卡产品数据手册

FMC131是一款4通道3GSPS采样率或者2通道6GSPS采样率16位DA播放FMC子卡模块,该板卡为FMC标准,符合VITA57.4规范,可以作为一个理想的IO模块耦合至FPGA前端,16通道的JESD204B接口通过FMC连接器连接至FPGA的高速串行端口GTH。插值模式…

突破性5G NTN技术,美格智能携手高通发布卫星物联网连接方案

通信技术的快速发展,使得万物互联成为现实,物联网深刻影响我们的生活方式。目前,全球物联网连接主要由WiFi、蓝牙和蜂窝网络等几类技术支撑。数据显示,蜂窝基站的陆地覆盖率约为20%,而海洋覆盖率则不到5%。 这意味着陆…

十大编程算法

算法一:快速排序算法 快速排序是由东尼霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快&a…

uni-app/vue 文字转语音朗读(附小程序语音识别和朗读)

语音播报的实现的方法有很多种,我这里介绍集中不引用百度、阿里或者迅飞的API的实现方式。 一、采用new SpeechSynthesisUtterance的方式 废话不多说直接上代码 data() {return {utterThis:null,} },//方法使用this.utterThis new SpeechSynthesisUtterance(); …

地下水管三维可视化综合管控平台提升政府服务质量

随着当前互联网技术数据的快速发展和增长,总数越来越大,结构越来越复杂。如果你想更清楚、更快地理解和理解数据,传统的二维平面图数据图性能不能满足需求。 什么是三维可视化? 三维可视化是一种利用计算机技术,再现三维世界中的…

命令模式(Command)

别名 动作(Action)事务(Transaction) 定义 命令是一种行为设计模式,它可将请求转换为一个包含与请求相关的所有信息的独立对象。该转换让你能根据不同的请求将方法参数化、延迟请求执行或将其放入队列中&#xff0c…

(1)深度学习学习笔记-数据操作和处理

文章目录 前言一、张量操作二、csv文件数据操作数据预处理(读入csv文件作为pytorch能处理的) 来源 前言 张量的一些处理和操作 csv文件数据操作 一、张量操作 [:,1]表示全部行 第二列 [:]是全取 [1:3,1:]:1:3表示1~3的…

Node.js搭建Https服务

要搭建一个接收HTTPS请求的Node.js服务器,可以按以下步骤操作: 1. 初始化项目和安装依赖: bashnpm init -y npm install expresslatest npm install httpslatest 2. 生成证书文件: 这里按照自己的需求 去买ssl证书 或者获取免费证书 直接百度 阿里云获取免费证书等关键词即可…

Prefix-Tuning 阅读笔记

《Prefix-Tuning: Optimizing Continuous Prompts for Generation》 核心思想: 微调的时候,把预训练好的大transformer固定住不训练,在大transformer前面拼接几个token的参数,只训练前面这几个token的参数。 为什么有效 因为虽…

金融科技领先者Broadridge选择CloudBees CI来加速软件交付

Broadridge公司是全球金融科技领先者,通过丰富客户参与度、控制风险、优化效率和创造收入增长的解决方案为客户推动业务转型。 借助CloudBees CI,Broadridge为所有使用Jenkins的开发团队提供了集中管理和自助服务的体验。Broadridge能够不断为客户提供新…

vue 中node-sass和sass版本问题解决

先开始使用 “node-sass”: “^7.0.1” “sass-loader”: “^10.0.5” 然后使用npm install报错 后面百度,搜到了是因为 node-sass和sass-loader版本不对应造成。 然后修改版本,增加sass引用 “node-sass”: “^7.0.1” “sass-loader”: “^7.3.1”, “…

Mysql实现按月份查询挂号统计数据(聚合函数的使用)

最近公司要实现一个通过年月来查询每个月的挂号统计(当日挂号,预约挂号),因为医院每个月都要来问我们这边一次,每次都去数据库查询太麻烦了,所以就需要开发一个查询挂号统计的接口。 前面用了很多种方法,要…

计算机中的逻辑运算(与、或、非、异或、同或、与非、或非)

计算机中的逻辑运算又被称作为“布尔运算”,分别为:与、或,非,异或。此外在门电路中还有:同或、与非、或非。共七种。 这七种逻辑运算中,只有 逻辑非运算 是一元逻辑运算(一个运算操作数&#…

微信公众号接收事件推送XML数据包解析成实体对象

1.从request获取推送xml包 String callBackXml testNoticeService.formatNoticeParams(request); public static String formatNoticeParams(HttpServletRequest request){try(ByteArrayOutputStream output new ByteArrayOutputStream();InputStream input request.getIn…

微服务 springcloud 11 sleuth 链路跟踪,sleuth + zipkin 链路分析

随着系统规模越来越大,微服务之间调用关系变得错综复杂,一条调用链路中可能调用多个微服务,任何一个微服务不可用都可能造整个调用过程失败 spring cloud sleuth 可以跟踪调用链路,分析链路中每个节点的执行情况 01.微服务中添加 …

如何使用UpdraftPlus迁移备份网站到新网站?

这个问题是关于将您的站点克隆或迁移到新的网站URL的问题。如果您想克隆一个站点进行测试,或者在新版本上线之前移动到新主机并进行测试,以及许多其他类似情况,迁移尤其有用。 在下面的示例中,我们迁移到一个完全新的 WordPress …

搭建Hadoop高可用框架分布式集群

搭建Hadoop高可用框架分布式集群 一.基础配置 1.创建虚拟机,修改虚拟机的主机名 2.修改网络配置 master:192.168.6.200 slave1:192.168.6.201 slave2:192.168.6.202 3.互ping测试 4.sudo授权 5.安装vim编辑器 6.配置网络映射 master配置映射 master向slave1传递映…

MATLAB 之 Simulink系统的仿真与分析

这里写目录标题 一、Simulink 系统的仿真与分析1. 设置仿真参数1.1 Solver 参数设置1.2 Data lmport/Export 参数设置 2. 运行仿真与仿真结果分析2.1 运行仿真2.2 仿真结果分析 一、Simulink 系统的仿真与分析 系统的模型建立之后,选择仿真参数和数值算法&#xff…