Hugging Face's logo
加入 Hugging Face 社区

并获取增强型文档体验

开始使用

Gradio Spaces

Gradio 提供了一个简单直观的界面,可以从输入列表运行模型,并将输出以图像、音频、3D 对象等格式显示。 Gradio 现在甚至有一个 绘图输出组件,用于使用 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 创建一个 热狗分类器 Space,用于演示 julien-c/hotdog-not-hotdog 模型,该模型可以检测给定图片中是否包含热狗 🌭

你可以在 NimaBoscarino/hotdog-gradio 中找到此 Space 的完整版本。

创建新的 Gradio Space

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

添加依赖项

对于 热狗分类器,我们将使用 🤗 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 应用将需要你上传一个图像,然后将其分类为 热狗非热狗。 保存代码到 app.py 文件后,访问 应用 选项卡即可查看你的应用!

将 Gradio Spaces 嵌入到其他网页中

你可以通过使用 Web Components 或 HTML <iframe> 标签将 Gradio Space 嵌入到其他网页中。 请查看 我们的文档Gradio 文档 了解更多详细信息。

< > 更新 在 GitHub 上