Баннер мобильный (1) Пройти тест

Streamlit

Глоссарий

31 июля 2023

Поделиться

Скопировано

Содержание

    Streamlit — это фреймворк для языка программирования Python. Он содержит набор программных инструментов, которые помогают перенести модель машинного обучения в веб. Написанную «умную» программу с помощью этого фреймворка можно быстро сделать веб-приложением.

    Модель машинного обучения — это, по сути, сугубо математическая программа. У нее нет красивого интерфейса, кнопок, визуализации. Все эти вещи в нее можно дописать — например, если модель нужна для демонстрации или для реализации каких-то пользовательских функций. Streamlit как раз преобразует результат работы модели в вид, понятный человеку — и подходящий для загрузки на сайт.

    У фреймворка открытый исходный код, так что посмотреть, как он устроен, может любой разработчик. Язык Python, для которого предназначен Streamlit, активно используется в машинном обучении, анализе данных и автоматизации: это именно те сферы, где может пригодиться такой фреймворк.

    Для чего нужен Streamlit

    В теории ML-инженер может сам развернуть модель машинного обучения в вебе или где-нибудь еще. Но это довольно трудоемкая задача. Делать все вручную долго, к тому же не у всякого специалиста по машинному обучению есть специфические знания для работы с вебом. Поэтому нужен инструмент, который автоматизирует процесс, — им стал Streamlit.

    Благодаря этому фреймворку развернуть модель в веб-приложение, визуализировать и привести к человекопонятному виду можно в несколько строчек кода. Не нужно тратить время на написание веб-интерфейса вручную — за человека это делает фреймворк. Так можно сэкономить время и потратить его на более профильные для ML-инженера задачи: сконцентрироваться на самом машинном обучении, а не на интерфейсе для модели.

    Кто пользуется Streamlit

    В основном этот фреймворк используют ML-инженеры — люди, которые занимаются машинным обучением. Но его можно применять и в других сферах. Например, работать со Streamlit могут аналитики данных, дата-сайентисты, а иногда и Python-разработчики из других сфер. В теории обычную программу тоже можно представить в виде веб-интерфейса с помощью Streamlit, просто в основном фреймворк используют именно для ML и работы с данными.

    Основные возможности Streamlit

    Быстрое развертывание. ML-модель или обычную программу можно быстро превратить в одностраничное веб-приложение и управлять им. Не нужно долго верстать и загружать модель, пользоваться традиционными инструментами для создания веб-интерфейсов. Несколько десятков строк кода — и веб-приложение готово, отрисовано и работает.

    Использование скриптов. Приложения можно делать интерактивными. Каждый раз, когда пользователь взаимодействует с получившимся веб-интерфейсом или разработчик меняет что-то в коде, Streamlit сам обновляет и перерисовывает нужные части страницы. Так интерфейс «откликается» на действия пользователя или на изменения модели в реальном времени. Поэтому с помощью фреймворка можно делать интерактивные визуализации, дашборды или простые пользовательские сервисы.

    Виджеты и визуализация. В Streamlit есть встроенные стандартные виджеты для частых действий, например ползунки или поля для ввода текста. Можно взять готовые виджеты и собрать из них работающий интерфейс. Еще можно отрисовать график или картинку, вывести результат работы программы в виде схемы или таблицы. Есть и функция для отрисовки карты, на которой можно указать с помощью кода какие-то координаты, маршруты и линии.

    Примеры использования Streamlit

    • Создание портфолио в формате, понятном для работодателя. Можно превратить модели в веб-приложения и показать даже человеку, незнакомому с технической частью.
    • Разработка пользовательских приложений. Например, можно разработать и привести с помощью Streamlit в понятный вид опенсорсную ML-программу, которой будут пользоваться самые разные люди.
    • Демонстрация результатов. Можно визуализировать результаты работы модели в вебе, чтобы продемонстрировать их, например, коллегам или пользователям. С помощью Streamlit можно сделать целый интерактивный дашборд.

    Как начать работать со Streamlit

    Чтобы установить фреймворк, понадобится иметь на компьютере установленный и работающий Python. В пакет, идущий вместе с этим языком программирования, входит pip — утилита для загрузки вспомогательных инструментов для Python. С помощью pip установить Streamlit можно в одну строчку:

    pip install streamlit

    После этого Streamlit можно пользоваться. Порядок действий примерно такой.

    1. Написать приложение на Python, которое вы хотите развернуть в вебе, и сохранить его в файле с расширением .py.
    2. Импортировать в файл библиотеку Streamlit с помощью команды import streamlit. Можно написать import streamlit as <имя>, если вы хотите обращаться к библиотеке более коротко.
    3. Написать внутри файла код с использованием функции streamlit, который будет описывать интерфейс. Благодаря фреймворку этот код обычно получается небольшим.
    4. Открыть консоль Python и запустить через нее программу с помощью команды streamlit run <имя файла>.

    Для большей читаемости можно сделать два файла: в одном будет модель, а в другом — работа со Streamlit. Правда, для этого во второй файл понадобится импортировать данные из первого.

    С помощью Streamlit можно визуализировать и разворачивать любые приложения, в первую очередь — модели машинного обучения и анализа данных. Если вы хотите научиться создавать такие приложения, вам понадобится изучить основы ML или науки о данных.

    Если вам интересно — приглашаем на курсы! Вы сможете много практиковаться и сразу получать результаты.

    Поделиться

    Скопировано

    0 комментариев

    Комментарии