跳到正文
原文
Hugging Face:Blog(RSS)·· 2022-05-16精选AI 评分73

Gradio 3.0 发布:前端重构并推出 Blocks 低阶 API

Gradio 3.0 is Out!

AI 导读

Hugging Face 发布 Gradio 3.0,对 Gradio 库进行彻底重构。自 2019 年首个版本以来已有超过 600,000 个机器学习演示用 Gradio 构建。

推荐理由

官方发布 Gradio 3.0,说明前端重构与 Blocks 低阶 API 的具体能力,读者可据此评估是否升级自己的演示应用。

正文 · AI 翻译

机器学习演示

机器学习演示是发布模型时越来越重要的一部分。演示让任何人——不仅仅是机器学习工程师——都能在浏览器中试用模型,对预测结果给出反馈,并在模型表现良好时建立对它的信任。

自 2019 年第一个版本发布以来,已有超过 600,000 个机器学习演示使用 Gradio 库构建,今天我们非常激动地宣布 Gradio 3.0:对 Gradio 库的一次彻底重新设计 🥳

Gradio 3.0 有什么新内容?

🔥 基于我们从 Gradio 用户那里听到的反馈,对前端进行了彻底重新设计:

  • 我们改用现代技术(如 Svelte)来构建 Gradio 前端。因此,我们看到负载小得多,页面加载也快得多!

  • 我们还采用了更简洁的设计,让 Gradio 演示在更多场景中都能在视觉上融入其中(例如嵌入博客文章中)。

  • 我们改进了现有组件,比如 Dataframe,使其更加用户友好(试试把 CSV 文件拖放到 Dataframe 中),并新增了组件,比如 Gallery,让你能为自己的模型构建合适的 UI。

  • 我们新增了一个 TabbedInterface 类,让你可以把相关演示分组为一个 Web 应用中的多个标签页

查看你可以使用的所有组件,请访问我们(重新设计的)文档 🤗!

🔥 我们创建了一种新的底层语言,叫做 Gradio Blocks,让你可以直接在 Python 中构建复杂的自定义 Web 应用:

我们为什么创建 Blocks?Gradio 演示非常容易构建,但如果你想对演示的布局有更多控制,或者对数据流有更大灵活性呢?例如,你可能想要:

  • 改变演示的布局,而不是把所有输入放在左边、输出放在右边
  • 拥有多步骤界面,其中一个模型的输出成为下一个模型的输入,或者总体上拥有更灵活的数据流
  • 根据用户输入改变组件的属性(例如 Dropdown 中的选项)或其可见性

底层 Blocks API 让你可以直接在 Python 中完成所有这些事情。

下面是一个 Blocks 演示示例,它创建了两个简单的演示,并使用标签页将它们分组在一起:

import numpy as np
import gradio as gr

def flip_text(x):
    return x[::-1]

def flip_image(x):
    return np.fliplr(x)

with gr.Blocks() as demo:
    gr.Markdown("Flip text or image files using this demo.")
    with gr.Tabs():
        with gr.TabItem("Flip Text"):
            text_input = gr.Textbox()
            text_output = gr.Textbox()
            # this demo runs whenever the input textbox changes
            text_input.change(flip_text, inputs=text_input, outputs=text_output)
        
        with gr.TabItem("Flip Image"):
            with gr.Row():
                image_input = gr.Image()
                image_output = gr.Image()
            button = gr.Button("Flip")
            # this demo runs whenever the button is clicked
            button.click(flip_image, inputs=image_input, outputs=image_output)
    
demo.launch()

运行 launch() 后,将出现以下演示:

如需逐步了解 Blocks,请查看专门的 Blocks 指南

Gradio Blocks 派对

我们对 Gradio Blocks 感到非常兴奋——也很希望你来试用——因此我们正在组织一场比赛,Gradio Blocks 派对(😉),看看谁能用 Blocks 构建出最好的演示。通过构建这些演示,我们可以让最先进的机器学习不仅为工程师所用,也为任何会使用互联网浏览器的人所用!

即使你以前从未使用过 Gradio,现在也是开始的完美时机,因为 Blocks 派对将持续到五月底。派对结束时,我们将为使用 Blocks 构建的演示送出 🤗 周边和其他奖品。

在此了解有关 Blocks 派对的更多信息:https://huggingface.co/spaces/Gradio-Blocks/README

来源:Hugging Face:Blog(RSS) · huggingface.co