Gradio库的Gallery模块介绍与select方法详解

news/2024/10/17 22:09:40/

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

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

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

请添加图片描述

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

Gradio库的Gallery模块介绍与select方法详解

Gradio是一个用于构建交互式界面的Python库,能够帮助开发者快速创建Web界面来展示模型、输入数据并查看结果。Gradio的Gallery模块是其中一个组件,用于展示一个可以滚动浏览的图片列表。

使用Gallery模块时,它的输入是一个列表,列表中的元素可以是numpy数组、PIL图像、字符串,或者是(image, caption)元组。这些图片将会被展示在界面上。

下面是一个使用Gallery模块的示例:

# This demo needs to be run from the repo folder.
# python demo/fake_gan/run.py
import randomimport gradio as grdef fake_gan():images = [(random.choice(["https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=387&q=80","https://images.unsplash.com/photo-1554151228-14d9def656e4?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=386&q=80","https://images.unsplash.com/photo-1542909168-82c3e7fdca5c?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxzZWFyY2h8MXx8aHVtYW4lMjBmYWNlfGVufDB8fDB8fA%3D%3D&w=1000&q=80","https://images.unsplash.com/photo-1546456073-92b9f0a8d413?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=387&q=80","https://images.unsplash.com/photo-1601412436009-d964bd02edbc?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=464&q=80",]), f"label {i}" if i != 0 else "label" * 50)for i in range(3)]return imageswith gr.Blocks() as demo:with gr.Column(variant="panel"):with gr.Row(variant="compact"):text = gr.Textbox(label="Enter your prompt",show_label=False,max_lines=1,placeholder="Enter your prompt",).style(container=False,)btn = gr.Button("Generate image").style(full_width=False)gallery = gr.Gallery(label="Generated images", show_label=False, elem_id="gallery").style(columns=[2], rows=[2], object_fit="contain", height="auto")btn.click(fake_gan, None, gallery)if __name__ == "__main__":demo.launch()

上面的示例展示了如何使用Gallery模块来显示一个生成的图像列表。通过点击"Generate image"按钮,会调用fake_gan函数生成一些随机的图像,并在界面上展示出来。

除了展示图像,Gallery模块还提供了一个select方法,用于监听用户在图像列表中选择图片的事件。通过select方法,可以注册一个函数,当用户选择了某张图片时,该函数将会被调用。函数的参数可以包含gradio.SelectData类型的事件数据,其中包括被选择的图像的标题和索引。

下面是select方法的使用示例:

gallery.select(my_function, inputs=[text_box], outputs=[result_text])

上述示例中,通过select方法将一个名为my_function的函数注册为事件处理函数。当用户在Gallery模块中选择了一张图片时,my_function函数将会被调用,并将text_box组件的输入作为参数,将result_text组件作为输出。

以上就是Gradio库的Gallery模块的介绍以及select方法的详解。Gradio的Gallery模块可以方便地展示图片列表,并与其他组件进行交互,使得界面更加丰富和用户友好。

参数详解

下面是Gallery模块的参数表格和select方法的参数表格:

Gallery模块参数:

参数名数据类型默认值描述
valuelistNone默认情况下显示在图库中的图像列表。如果是可调用对象,当应用程序加载时,该函数将被调用以设置组件的初始值。
labelstrNone在界面中显示的组件名称。
everyfloatNone如果value是可调用对象,在客户端连接打开时每隔指定的秒数运行该函数。否则没有影响。队列必须启用。
show_labelboolTrue如果为True,将显示标签。
containerboolTrue如果为True,将组件放置在容器中,提供额外的边框填充。
scaleintNone相对于同一行中相邻组件的宽度比例。例如,如果组件A的scale=2,组件B的scale=1,则A的宽度将是B的两倍。应为整数。
min_widthint160最小像素宽度,如果屏幕空间不足以满足此值,则会换行。如果某个比例值导致该组件比min_width更窄,则首先将尊重min_width参数。
visibleboolTrue如果为False,将隐藏组件。
elem_idstrNone可选字符串,用作此组件在HTML DOM中的id。可用于定位CSS样式。
elem_classeslist[str]None可选字符串列表,用作此组件在HTML DOM中的类。可用于定位CSS样式。
columnsint, tuple2每个六个标准屏幕尺寸(<576px,<768px,<992px,<1200px,<1400px,>1400px)中应显示的图像数量。如果给出少于6个,则最后一个将用于所有后续断点。
rowsint, tupleNone图像网格中的行数,对于每个六个标准屏幕尺寸(<576px,<768px,<992px,<1200px,<1400px,>1400px)中的行数。如果给出少于6个,则最后一个将用于所有后续断点。
heightstrNone图库的高度。
previewboolNone如果为True,将以预览模式显示图库,显示所有图像的缩略图,并允许用户单击缩略图以查看完整大小的图像。
object_fitstrNone图库中缩略图图像的CSS object-fit属性。可以是"contain",“cover”,“fill”,“none"或"scale-down”。
allow_previewboolTrue如果为True,单击图库中的图像将放大显示。默认为True。

select方法参数:

参数名数据类型默认值描述
fnCallable, NoneRequired要包装为界面的函数。通常是机器学习模型的预测函数。函数的每个参数对应一个输入组件,函数应该返回单个值或一个值的元组,元组中的每个元素对应一个输出组件。
inputsComponent, listNone用作输入的Gradio组件列表。如果函数不接受输入,则应该是一个空列表。
outputsComponent, listNone用作输出的Gradio组件列表。如果函数没有返回输出,则应该是一个空列表。
api_namestr, NoneNone定义此参数可在API文档中公开该端点。
status_trackerNoneNone
scroll_to_outputboolFalse如果为True,完成后将滚动到输出组件。
show_progressstr“full”如果为True,将在等待时显示进度动画。
queuebool, 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, list, NoneNone要在触发此侦听器时取消的其他事件的列表。例如,设置cancels = [click_event]将取消click_event,其中click_event是另一个组件的.click方法的返回值。尚未运行的函数(或正在迭代的生成器)将被取消,但当前正在运行的函数将被允许完成。
everyfloat, NoneNone在客户端连接打开时每隔指定的秒数运行此事件。以秒为单位解释。队列必须启用。

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

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


http://www.ppmy.cn/news/701355.html

相关文章

ERP重构-SLA子分类账-分布式实现方案

背景 ERP中的GL总账模块&#xff0c;明细数据来源于各个业务模块如库存、成本、应收、应付、费控、资产等&#xff0c;统称为子模块&#xff0c;生成的账叫做子分类账。然而记账的业务逻辑各式各样&#xff0c;但是最终输出都是来源、类型、期间、科目、借贷金额等等关键信息。…

百度大脑人脸离线识别SDK Windows版

今天给大家带来是百度大脑人脸离线识别SDK Windows版&#xff0c;人脸离线识别SDK经过不断的升级迭代&#xff0c;目前已支持Windows版&#xff0c;下面我们来看具体详情&#xff01;   百度大脑人脸离线识别SDK Windows版对多系统平台全方位适配兼容&#xff0c;同时对杂光线…

ALL IN ONE最佳实践方案分享(从硬件到软件全覆盖)

何为ALL IN ONE 在一个电脑上&#xff0c;完成所有IT需求 软路由旁路由nas网络存储windows系统linux系统 一般情况下&#xff0c;这需要2台以上的电脑才可能实现 本篇文章是一个全方位的知识分享&#xff0c;是可以帮助大家从无到有的搭建ALL IN ONE做一个认识型的了解 硬件…

利用ipv6搭建一台服务器

背景 继上次发现ipv6以来由于要实习&#xff0c;一直只是在尝试部分小功能的实现&#xff0c;终于在这个春节假期才有了一大段空闲时间来部署服务器 硬件需求 首先要搭建属于自己的服务器得要有一定的硬件条件&#xff0c;服务器其实就是一台一天24小时开启的计算机&#xf…

C++多线程学习(一、简单概念理解)

目录 多线程 1.并发 2.进程 3.线程 4.并发实现 4.1:多进程实现并发 4.2:单线程&#xff0c;多线程实现并发 5.c中的多线程 简单的多线程示例代码&#xff1a; 多线程 1.并发 两个或多个独立活动同时发生&#xff08;一个程序执行多个独立任务&#xff09; 举例&#xff1a;吃…

【Redis】数据被删除,内存占用还这么大?

【Redis】数据被删除&#xff0c;内存占用还这么大&#xff1f; 操作系统分配给 Redis 的内存有 6GB&#xff0c;通过指标 used_memory_human 发现存储数据只使用了 4GB&#xff0c;为何会这样&#xff1f;为何无法保存数据&#xff1f; 通过 CONFIG SET maxmemory 100mb或者在…

【基础算法】穷举法

穷举法Exhaustive method是使用最广泛、设计最简单&#xff0c;同时最耗时的算法&#xff0c;也被称为暴力法、蛮力法Brute force method。 两数之和 给定一个整数数组array和一个目标值target&#xff0c;请在数组中找出和为目标值target的两个整数&#xff0c;并输出它们在数…

计算机类图书按中图法类号,中图分类号 中国图书馆分类法(O类 数理科学和化学)...

O 数理科学和化学 01 数学 01-61 数学词典 01-64 数学表 O1-8 计算工具 O11 古典数学 O119 中国数学 O12 初等数学 O121 算术 O122 初等代数 O123 初等几何 O124 三角 O13 高等数学 O14 数理逻辑、数学基础 O15 代数、数论、组合理论 O151 代数方程式论、&#xff0c;线性代数…