Hub documentation
Gradio Spaces
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.