Hub documentation

Gradio Spaces

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Gradio Spaces

Gradio 提供了一个简单直观的界面,用于从一系列输入中运行模型,并以图像、音频、3D 对象等格式显示输出。Gradio 现在甚至拥有 Plot output 组件,可用于使用 Matplotlib、Bokeh 和 Plotly 创建数据可视化!更多详情,请参阅 Gradio 团队的 入门 指南。

在创建新 Space 时选择 Gradio 作为 SDK,会在 README.md 文件的 YAML 块中将 sdk 属性设置为 gradio,从而使用最新版本的 Gradio 初始化您的 Space。如果您想更改 Gradio 版本,可以编辑 sdk_version 属性。

访问 Gradio 文档 以全面了解其功能,并查看 Gradio 指南 中的一些实用教程,帮助你快速上手!

您的第一个 Gradio Space:热狗分类器

在以下章节中,你将学习创建 Space、配置 Space 以及将代码部署到 Space 的基础知识。我们将使用 Gradio 创建一个 Hot Dog Classifier Space,用于演示 julien-c/hotdog-not-hotdog 模型,该模型可以检测给定图片中是否包含热狗 🌭

您可以在 NimaBoscarino/hotdog-gradio 找到此项目的完整版本。

创建新的 Gradio Space

我们将首先创建一个全新的 Space,并选择Gradio 作为我们的 SDK。Hugging Face Spaces 是 Git 仓库,这意味着你可以通过推送提交来逐步(且协作地)开发你的 Space。在继续之前,请查看仓库入门指南,了解如何创建和编辑文件。

添加依赖项

对于 Hot Dog Classifier,我们将使用 🤗 Transformers pipeline 来调用模型,因此需要先安装一些依赖项。可以在我们的仓库中创建一个 requirements.txt 文件,并在其中添加以下依赖项:

transformers
torch

Spaces 运行时将负责安装依赖项!

创建 Gradio 界面

要创建 Gradio 应用,请在仓库中新建一个名为 app.py 的文件,并添加以下代码:

import gradio as gr
from transformers import pipeline

pipeline = pipeline(task="image-classification", model="julien-c/hotdog-not-hotdog")

def predict(input_img):
    predictions = pipeline(input_img)
    return input_img, {p["label"]: p["score"] for p in predictions} 

gradio_app = gr.Interface(
    predict,
    inputs=gr.Image(label="Select hot dog candidate", sources=['upload', 'webcam'], type="pil"),
    outputs=[gr.Image(label="Processed Image"), gr.Label(label="Result", num_top_classes=2)],
    title="Hot Dog? Or Not?",
)

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

此 Python 脚本使用 🤗 Transformers pipeline 加载 julien-c/hotdog-not-hotdog 模型,该模型由 Gradio 界面使用。Gradio 应用会要求您上传一张图像,然后将其分类为 hot dog 或 not hot dog。将代码保存到 app.py 文件后,请访问 App 标签页以查看您的应用运行效果!

在其他网页中嵌入 Gradio Spaces

您可以通过使用 Web Components 或 HTML <iframe> 标签,将 Gradio Space 嵌入到其他网页中。有关更多详细信息,请参阅我们的文档或Gradio 文档。

Update on GitHub