Hub documentation
Gradio Spaces
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
torchSpaces 运行时将负责安装依赖项!
创建 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 文档。