【Gradio】关键特征 Key Features

让我们来了解一下 Gradio  (4.36.1)的一些主要功能。本指南旨在为您提供一个高层次的概述,让您在制作演示时了解各种需要注意的事项。在适当的地方,我们会链接到更详细的指南。

  1. Components 组件

  2. Queuing 排队

  3. Streaming outputs 流输出

  4. Streaming inputs 流输入

  5. Alert modals 警报模式

  6. Styling 造型设计

  7. Progress bars 进度条

  8. Batch functions 批处理功能

Components 组件 

Gradio 包含 30 多个预建组件(以及许多用户自定义组件),只需一行代码即可在演示中用作输入或输出。这些组件与机器学习和数据科学中常见的数据类型相对应,例如 gr.Image 组件用于处理输入或输出图像, gr.Label 组件显示分类标签和概率, gr.Plot 组件显示各种图表,等等。

每个组件都包含控制组件属性的各种构造函数属性。例如,你可以使用 gr.Textbox 构造函数中的 lines 参数(取一个正整数)来控制 gr.Textbox 中的行数。或者,你可以使用 sources 参数(像 ["webcam", "upload"] 一样使用列表来控制用户在 gr.Image 组件中提供图片的方式。

Static and Interactive Components 静态和互动组件

每个组件都有一个用于显示数据的静态版本,大多数组件也有一个用于让用户输入或修改数据的交互版本。通常情况下,你不需要考虑这种区别,因为当你创建一个 Gradio 演示时,Gradio 会自动根据组件是作为输入还是输出来计算它应该是静态的还是交互的。不过,你也可以使用每个组件都支持的 interactive 参数手动设置。

Preprocessing and Postprocessing 预处理和后处理

当组件被用作输入时,Gradio 会自动进行预处理,将数据从用户浏览器发送的类型(如上传的图片)转换为函数可以接受的形式(如 numpy 数组)。

同样,当组件被用作输出时,Gradio 会自动进行后处理,将函数返回的数据(如图片路径列表)转换为可在用户浏览器中显示的形式(图片库)。

请看一个有三个输入组件( gr.Textbox 、 gr.Number 和 gr.Image )和两个输出组件( gr.Number 和 gr.Gallery )的示例演示,它们是图像到图像生成模型的用户界面。下图显示了预处理将发送给模型的内容以及后处理需要的内容。

e89df0f7b6e86f5dc712ff4a2d1a9831.png

在本图中,以下预处理步骤是为了将数据从浏览器发送到您的函数:

  • The text in the textbox is converted to a Python str (essentially no preprocessing)
    文本框中的文本会被转换成 Python str (基本上没有预处理)。

  • The number in the number input in converted to a Python float (essentially no preprocessing)
    将数字输入中的数字转换为 Python float (基本上不需要预处理)

  • Most importantly, ihe image supplied by the user is converted to a numpy.array representation of the RGB values in the image
    最重要的是,用户提供的图像会被转换为图像中 RGB 值的 numpy.array 表示形式

图像会被转换成 NumPy 数组,因为它们是机器学习工作流的常用格式。在构建组件时,你可以使用组件的参数来控制预处理。例如,如果使用以下参数实例化图像组件,它将把图像预处理为 PIL 格式:

img = gr.Image(type="pil")

后处理就更简单了!Gradio 会自动识别返回数据的格式(例如,用户函数返回的是 numpy 数组还是 gr.Image 组件的 str 文件路径?

因此,在上图中,将用户函数返回的数据发送到浏览器的后处理步骤如下:

- 浮点数显示为数字,并直接显示给用户 

- 字符串文件路径列表(list[str])被解释为图像文件路径列表&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值