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! Подробнее можно узнать в руководстве Getting started от команды Gradio.

Выбор Gradio в качестве SDK при создании нового Space инициализирует ваш Space с последней версией Gradio, задавая свойство sdk значением gradio в YAML-блоке файла README.md. Если вы хотите изменить версию Gradio, отредактируйте свойство sdk_version.

Ознакомьтесь с документацией Gradio, чтобы узнать обо всех её возможностях, и загляните в руководства Gradio, где собраны полезные учебные материалы для быстрого старта!

Ваш первый Gradio Space: классификатор хот-догов

В следующих разделах вы узнаете основы создания Space, его настройки и развёртывания вашего кода. Мы создадим Space Hot Dog Classifier на базе Gradio, который будет использоваться для демонстрации модели julien-c/hotdog-not-hotdog, способной определять, содержит ли изображение хот-дог 🌭

Готовую версию этого проекта можно найти в репозитории NimaBoscarino/hotdog-gradio.

Создать новое пространство Gradio

Мы начнём с создания нового Space и выбора Gradio в качестве SDK. Hugging Face Spaces — это Git-репозитории, что означает возможность работать над Space поэтапно (и совместно) путём отправки коммитов. Ознакомьтесь с руководством Getting Started with Repositories, чтобы узнать, как создавать и редактировать файлы, прежде чем продолжить.

Добавьте зависимости

Для 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 на другие веб-страницы

Вы можете встроить Gradio Space на другие веб-страницы, используя Web Components или HTML-тег <iframe>. Подробности смотрите в нашей документации или в документации Gradio.

Update on GitHub