Урок из полного доступа, первые уроки курса бесплатно Официальный курс Hugging Face Learn на русском
Урок 77 · Текст · ~5 мин

Gradio Blocks: гибкие интерфейсы

Урок 77 из 104 курса «HuggingFace: курс по Transformers»: официальный курс Hugging Face Learn (Хаггинг Фейс) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

В предыдущих разделах мы изучили и создали демо, используя класс Interface. В этом разделе мы представим наш свеже разработанный низкоуровневый API под названием gradio.Blocks.

Итак, в чем разница между Interface и Blocks?

  • ⚡ Interface: высокоуровневый API, который позволяет создать полноценное демо машинного обучения, просто предоставив список входных и выходных данных.
  • 🧱 Blocks: низкоуровневый API, который позволяет вам полностью контролировать потоки данных и компоновку вашего приложения. Вы можете создавать очень сложные, многоступенчатые приложения, используя Blocks (как "строительные блоки").

Как мы видели в предыдущих разделах, класс Interface позволяет легко создавать полноценные демо машинного обучения с помощью всего нескольких строк кода. API Interface чрезвычайно прост в использовании, но ему не хватает гибкости, которую обеспечивает API Blocks. Например, вы можете захотеть:

  • Сгруппировать связанные демо в виде нескольких вкладок в одном веб-приложении
  • Изменить макет вашего демо, например, указать, где расположены входные и выходные компоненты
  • Многоступенчатые интерфейсы, в которых выход одной модели становится входом для следующей модели, или более гибкие потоки данных в целом
  • Изменить свойства компонента (например, выбор в выпадающем списке) или его видимость на основе пользовательского ввода

Ниже мы рассмотрим все эти понятия.

После того как вы установили Gradio, запустите приведенный ниже код в виде сценария на Python, блокнота Jupyter или блокнота Colab.

В этом простом примере представлены 4 концепции, которые лежат в основе блоков:

  1. Блоки позволяют создавать веб-приложения, сочетающие в себе разметку, HTML, кнопки и интерактивные компоненты, просто инстанцируя объекты на Python в контексте with gradio.Blocks.

[!TIP] 🙋Если вы не знакомы с оператором with в Python, рекомендуем ознакомиться с отличным руководством от Real Python. Возвращайтесь сюда после его прочтения 🤗

Порядок, в котором вы инстанцируете компоненты, имеет значение, поскольку каждый элемент отображается в веб-приложении в том порядке, в котором он был создан. (Более сложные макеты рассматриваются ниже)

  1. Вы можете определять обычные функции Python в любом месте вашего кода и запускать их с пользовательским вводом…

План урока

  1. Почему Blocks 🧱?
  2. Создание простого демо с помощью блоков
  3. Настройка макета вашего демо
  4. Изучение событий и состояния
  5. Создание многоступенчатых демо
  6. Обновление свойств компонента

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Откройте полный доступ

Вы прошли бесплатные уроки. Выберите тариф, чтобы продолжить обучение.

Курсы HuggingFace 1 490 ₽ Разовый платёж, навсегда
  • Все курсы от HuggingFace (1 шт.)
  • Именной сертификат по каждому пройденному курсу
Оплатить
Полный доступ 4 900 ₽ Разовый платёж, навсегда
  • Все 77 курсов от 11 AI-провайдеров
  • Библиотека промптов и новые курсы
Оплатить

Безопасная оплата через Robokassa: СБП, карты, электронные кошельки. Доступ откроется в этом браузере и придёт письмом. Уже оплатили? Восстановить доступ

Урок входит в темы

Полезные гиды