探索Gradio库的Radio模块及其change、input和select方法

news2024/9/21 14:36:31

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

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

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

请添加图片描述

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

探索Gradio库的Radio模块及其change、input和select方法

Gradio是一个用于构建交互式界面的Python库,它简化了界面开发的过程。其中的Radio模块是一种单选按钮组件,允许用户从预定义的选项中选择一个。

在Gradio库中,Radio模块提供了一组单选按钮,用户只能选择其中的一个选项。它具有以下几种方法:change、input和select。

1. change方法:

change方法是一个监听器,当组件的值发生变化时触发。这个变化可以是用户输入导致的(比如用户在文本框中输入)或者是函数更新导致的(比如图像从事件触发的输出中接收到一个值)。在Gradio Blocks中使用这个方法时,可以在函数周围创建一个界面。该方法的参数包括:

  • fn: 要创建界面的函数,通常是一个机器学习模型的预测函数。函数的每个参数对应一个输入组件,函数应该返回一个值或值的元组,元组中的每个元素对应一个输出组件。
  • inputs: 作为输入的组件列表。
  • outputs: 作为输出的组件列表。
  • api_name: 定义端点在API文档中的显示方式。
  • 其他参数用于配置事件的行为,例如滚动到输出组件、显示进度动画等。

2. input方法:

input方法是一个监听器,当用户更改组件的值时触发。这个方法也可以在Gradio Blocks中使用。它的参数和change方法类似,用于创建一个界面。

3. select方法:

select方法是一个事件监听器,当用户选择Radio选项时触发。它使用gradio.SelectData作为事件数据,其中包含了所选选项的值和索引。参数和其他监听器方法类似,用于创建一个界面。

通过使用这些方法,可以根据用户的输入或选择来触发相应的操作或功能。Gradio库提供了丰富的组件和方法,使界面开发变得简单而灵活。

参数详解

Radio模块参数

参数数据类型默认值描述
choiceslist[str] or NoneNone可选项列表。
valuestr or Callable or NoneNone默认选择的选项。如果为None,则默认没有选中任何选项。如果为可调用对象,则在应用程序加载时调用该函数以设置组件的初始值。
typestr“value”组件返回的值的类型。"value"返回所选选项的字符串,"index"返回所选选项的索引。
labelstr or NoneNone在界面中显示的组件名称。
infostr or NoneNone组件的描述信息。
everyfloat or NoneNone如果’value’是可调用对象,则在客户端连接打开的同时每隔指定秒数运行该函数。否则不起作用。队列必须启用。可以通过该组件的.load_event属性访问事件(例如取消事件)。
show_labelboolTrue如果为True,将显示标签。
containerboolTrue如果为True,将组件放置在容器中,提供一些额外的边框间距。
scaleint or NoneNone相对于相邻组件的宽度比例。例如,如果组件A的scale=2,组件B的scale=1,那么A的宽度将是B的两倍。应为整数。
min_widthint160最小像素宽度,如果屏幕空间不足以满足此值,则会换行。如果某个比例值导致该组件比min_width更窄,将首先考虑min_width参数。
interactivebool or NoneNone如果为True,此单选组中的选项将可以选择;如果为False,将禁用选择。如果未提供,将根据组件用作输入还是输出来推断。
visibleboolTrue如果为False,将隐藏组件。
elem_idstr or NoneNone可选的字符串,用作此组件在HTML DOM中的ID。可用于指定CSS样式。
elem_classeslist[str] or str or NoneNone可选的字符串列表,用作此组件在HTML DOM中的类。可用于指定CSS样式。

change方法参数:

参数数据类型默认值描述
fnCallable or None必需要包装为接口的函数。通常是机器学习模型的预测函数。函数的每个参数对应一个输入组件,函数应返回单个值或值的元组,其中元组中的每个元素对应一个输出组件。
inputsComponent or list[Component] or set[Component] or NoneNone用作输入的组件列表。如果函数不需要输入,则应为空列表。
outputsComponent or list[Component] or NoneNone用作输出的组件列表。如果函数不返回输出,则应为空列表。
api_namestr or None or Literal[False]None定义端点在API文档中的显示方式。可以是字符串、None或False。如果为False,则端点将不会在API文档中公开。如果设置为None,则端点将作为无名端点公开在API文档中,尽管此行为将在Gradio 4.0中更改。如果设置为字符串,则端点将以给定的名称在API文档中公开。
status_trackerNoneNone状态跟踪器。
scroll_to_outputboolFalse如果为True,将在完成后滚动到输出组件。
show_progressLiteral[‘full’, ‘minimal’, ‘hidden’]“full”如果为True,在等待时显示进度动画。
queuebool or NoneNone如果为True,将请求放入队列(如果队列已启用)。如果为False,即使队列已启用,也不会将此事件放入队列中。如果为None,则使用gradio应用程序的队列设置。
batchboolFalse如果为True,则函数应处理一批输入,即应接受每个参数的输入值列表。列表应具有相等的长度(最大长度为max_batch_size)。然后函数必须返回一个元组的列表(即使只有1个输出组件),元组中的每个列表对应一个输出组件。
max_batch_sizeint4如果从队列调用此方法,则最大批处理输入数目。仅在batch=True时相关。
preprocessboolTrue如果为False,则在运行’fn’之前不会对组件数据进行预处理(例如,如果使用Image组件以base64字符串形式调用此方法)。
postprocessboolTrue如果为False,则在将’fn’输出返回给浏览器之前不会对组件数据进行后处理。
cancelsdict[str, Any] or list[dict[str, Any]] or NoneNone触发此监听器时要取消的其他事件列表。例如,设置cancels=[click_event]将取消click_event,其中click_event是另一个组件的.click方法的返回值。尚未运行的函数(或正在迭代的生成器)将被取消,但当前正在运行的函数将被允许完成。
everyfloat or NoneNone在客户端连接打开的同时每隔指定秒数运行此事件。以秒为单位解释。队列必须启用。

input方法参数与change方法参数相同。

select方法参数:

参数数据类型默认值描述
fnCallable or None必需要包装为接口的函数。通常是机器学习模型的预测函数。函数的每个参数对应一个输入组件,函数应返回单个值或值的元组,其中元组中的每个元素对应一个输出组件。
inputsComponent or list[Component] or set[Component] or NoneNone用作输入的组件列表。如果函数不需要输入,则应为空列表。
outputsComponent or list[Component] or NoneNone用作输出的组件列表。如果函数不返回输出,则应为空列表。
api_namestr or None or Literal[False]None定义端点在API文档中的显示方式。可以是字符串、None或False。如果为False,则端点将不会在API文档中公开。如果设置为None,则端点将作为无名端点公开在API文档中,尽管此行为将在Gradio 4.0中更改。如果设置为字符串,则端点将以给定的名称在API文档中公开。
status_trackerNoneNone状态跟踪器。
scroll_to_outputboolFalse如果为True,将在完成后滚动到输出组件。
show_progressLiteral[‘full’, ‘minimal’, ‘hidden’]“full”如果为True,在等待时显示进度动画。
queuebool or NoneNone如果为True,将请求放入队列(如果队列已启用)。如果为False,即使队列已启用,也不会将此事件放入队列中。如果为None,则使用gradio应用程序的队列设置。
batchboolFalse如果为True,则函数应处理一批输入,即应接受每个参数的输入值列表。列表应具有相等的长度(最大长度为max_batch_size)。然后函数必须返回一个元组的列表(即使只有1个输出组件),元组中的每个列表对应一个输出组件。
max_batch_sizeint4如果从队列调用此方法,则最大批处理输入数目。仅在batch=True时相关。
preprocessboolTrue如果为False,则在运行’fn’之前不会对组件数据进行预处理(例如,如果使用Image组件以base64字符串形式调用此方法)。
postprocessboolTrue如果为False,则在将’fn’输出返回给浏览器之前不会对组件数据进行后处理。
cancelsdict[str, Any] or list[dict[str, Any]] or NoneNone触发此监听器时要取消的其他事件列表。例如,设置cancels=[click_event]将取消click_event,其中click_event是另一个组件的.click方法的返回值。尚未运行的函数(或正在迭代的生成器)将被取消,但当前正在运行的函数将被允许完成。
everyfloat or NoneNone在客户端连接打开的同时每隔指定秒数运行此事件。以秒为单位解释。队列必须启用。

结论

Gradio库的Radio模块提供了一种简单而强大的单选按钮组件,可以通过change、input和select方法来监听用户的输入和选择。这些方法可以帮助开发人员构建交互式界面,并根据用户的操作实现相应的功能。Gradio库是一个强大的工具,可以用于快速开发具有交互性的应用程序和原型系统。


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

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

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

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

相关文章

linux之复制文件(cp/tar/rsync/cpio)

复制文件 命令一: cp time cp -a /home/learn/files /home/learn/test/cp real 6m7.699s user 0m0.568s sys 0m48.372s命令二:tar time (cd /home/learn/files; tar c .) | (cd /home/learn/test/tar ; tar x) real 2m7.848s user 0m1.209s sys 1m12.82…

Nuxt3引入Element-plus和sass

1.引入Element-plus 打开编辑器终端 运行npm install element-plus/nuxt 或者命令行cd到项目文件 运行npm install element-plus/nuxt package.json文件会出现 使用Element-plus 在nuxt.config.ts文件添加代码 export default defineNuxtConfig({devtools: { enabled: true }…

Blender基础入门(2):Blender简单渲染

文章目录 我个人的Blender专栏前言渲染基本常识科普Blender渲染设置Blender窗口分栏分屏渲染 渲染设置GPU渲染引擎推荐最大采样 切换摄像机渲染图片渲染采样512和4096差异512采样4096采样 渲染建议 我个人的Blender专栏 Blender简单教学 前言 渲染是从白模到成品的过程&…

CTFSHOW 每周大挑战 RCE极限挑战

RCE挑战1 开题直接给了源码 过滤了括号和点号。 使用内敛绕过。 payload: codeecho tac /f1agaaa;RCE挑战2 源码直接给了。 基本把能用的都过滤了,只剩下$()_;[],./字符,自增RCE无疑。 //相当于 ($_GET[_])($_GET[__]) 使用的时候url编…

【雕爷学编程】Arduino动手做(156)---OTTO两足舵机机器人

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

【Mac】安装DbServer

1.下载 链接: https://pan.baidu.com/s/13Vzsv1sLAq-J8RsRgtL-pw 提取码: 8gsr 2.安装 如果提示已损坏,无法打开。 解决方式: 打开“终端”,输入命令:sudo spctl --master-disable,这个过程中会提示要输入密码&…

C++ 库 vector初始化方式

vector 支持多种初始化方式,以下是几种常见的方法: 1. 默认初始化: 可以使用无参构造函数来创建一个空的 vector。例如: 创建一个空的整数向量 2. 指定大小和初始值: 可以使用带有两个参数的构造函数来指定 vector 的大小和初始值。例如&am…

优化器学习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、SGD(随机梯度下降算法)二、Momentum三、AdaGrad四、Adam算法 前言 最优化是应用数学的一个分支,主要研究在特地情况下函…

Installation request for phpoffice/phpspreadsheet

办法 composer update --ignore-platform-reqs

【C++】引用、指针、函数指针、指针函数

指针和引用的概念及区别 引用 引用是一个已存在对象的别名,使用 & 符号进行声明,例如 int& ref num;引用必须在声明时初始化,并且一旦绑定到一个对象后,就不能再重新绑定到其他对象引用使用起来类似于被引用对象的别名…

SpringBoot开启定时任务

有些场景需要使用到定时任务,比如: 定时数据备份:定时任务可以用于自动备份数据库或重要文件。可以编写一个定时任务来定期执行数据备份操作,以保护数据的安全性。 定时数据同步:在分布式系统中,定时任务可…

mac远程连接windows10-Microsoft Remote Desktop

主要碰到的坑: windows上没有开启远程桌面连接,导致Microsoft Remote Desktop连接的时候老报错。 开始菜单-》设置-〉远程桌面 如果还不行就看一下服务: 右键我的电脑-》管理 -〉服务 打开远程桌面服务(最好设置成自动启动&…

CygWin:windows上运行类linux命令

CygWin是一个在Windows平台上运行的类UNIX模拟环境,是Cygnus Solutions公司开发的自由软件。它提供了类似于Linux系统的终端环境和工具,使用户可以在Windows平台上运行Unix-like的程序,如Bash、awk、sed和grep等 。 下载setup.exe 安装Cygwin…

初阶C语言———操作符详解(2)

hello,我们又见面了,今天我们把操作符这一章节完结,那让我们一起来学习吧 逻辑操作符 &&逻辑与 ||逻辑或 这里我们要区分按位与和按位或还有逻辑与和逻辑或的区分。 1&2----->0 1&&2---->1 1|2----->3 1||2---…

Day46|139.单词拆分 、多重背包理论基础、背包问题总结

139.单词拆分 1.题目: 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 示例 1: 输入: s …

TiDB 7.1 资源管控验证测试

作者: dba-kit 原文来源: https://tidb.net/blog/9cd7dcb3 〇、背景 我们线上使用环境和李文杰大佬比较类似,我这里就不赘述了,大家可以看 专栏 - TiDB v7.1.0 跨业务系统多租户解决方案 | TiDB 社区 ,这里比较清…

PyQt---------PyQt组件的学习

1.QLabel组件 QLabel用于显示文本或图像,不提供用户交互功能,标签的视觉外观可以以各种方式配置。 举个例子吧 import sys from PyQt6.QtCore import Qt from PyQt6.QtWidgets import QApplication, QLabel, QMainWindowclass MainWindow(QMainWindow…

大厂C++题第1辑——虚函数七题精讲之2:虚函数的作用机制

一、虚函数的常见应用场景; 二、发挥虚函数作用的语法; 三、虚函数的实现机制; 四、虚函数的性能影响。 题2-虚函数的常见应用场景 上一节我们讲了虚函数的作用,同时也演示了虚函数发挥作用的路径之一: 一个派生类对…

Docker 私有仓库 harbor 搭建

🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…

Vue操作Cookie

这里用的js-cookie。 很简单,安装一下就可以使用了。 npm install js-cookie --save 使用示例: import Cookies from js-cookieexport default {name: YourComponent,methods: {setCookie() {// 设置一个名为 name 的cookie,值为 value&a…