О чём урок
В этом разделе мы подробно рассмотрим класс Interface и разберем основные параметры, используемые для его создания. Вы заметите, что класс Interface имеет 3 обязательных параметра: Interface(fn, inputs, outputs, ...) Это параметры: fn: функция прогнозирования, обернутая интерфейсом Gradio. Эта функция может принимать один или несколько параметров и возвращать одно или несколько значений inputs: тип(ы) компонента(ов) ввода. Gradio предоставляет множество готовых компонентов, таких как "image" или "mic". outputs: тип(ы) компонента(ов) вывода. Опять же, Gradio предоставляет множество предварительно созданных компонентов, например, " image" или "label". Полный список компонентов смотрите в документации Gradio. Каждый предварительно созданный компонент можно настроить, инстанцировав соответствующий ему класс. Например, как мы видели в предыдущем разделе, вместо передачи "textbox" в параметр inputs, вы можете передать компонент Textbox(lines=7, label="Prompt") для создания текстового поля с 7 строками и меткой. Давайте рассмотрим еще один пример, на этот раз с компонентом Audio. Как уже говорилось, Gradio предоставляет множество различных входов и выходов. Поэтому давайте создадим Interface, работающий с аудио. В этом примере мы создадим функцию audio-to-audio, которая принимает аудиофайл и просто переворачивает его. Для ввода мы будем использовать компонент Audio. При использовании компонента Audio, вы можете указать, будет ли источником звука файл, который загружает пользователь или микрофон, с помощью которого пользователь записывает свой голос. В данном случае давайте зададим "microphone". Просто ради интереса добавим к Audio метку, которая будет гласить "Speak here...". Кроме того, мы хотели бы получать аудио в виде массива numpy, чтобы можно было легко "перевернуть" его. Поэтому мы зададим "type" в значение "numpy", которое передаст входные данные в виде кортежа (sample_rate, data) в нашу функцию. Мы также будем использовать компонент вывода Audio, который может автоматически рендерить кортеж с частотой дискретизации и массивом данных numpy в воспроизводимый аудиофайл. В этом случае нам не нужно делать никаких настроек, поэтому мы будем использовать строку ярлык "audio".
План урока
- Как создать Interface
- Простой пример со звуком
- Обработка нескольких входов и выходов
- Метод launch()
- ✏️ Давайте применим это!
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.