Fast Dash позволяет молниеносно создавать прототипы и развертывать веб-приложения машинного обучения!

Если вы практикуете машинное обучение или увлекаетесь им, держу пари, что вам понравится изучать новейшие и лучшие инструменты и делиться ими с коллегами, друзьями и членами своей сети.

Встречайте Fast Dash: революционную библиотеку Python, созданную специально для вас. Он плавно преобразует ваши функции Python в развертываемые веб-приложения, позволяя вам сосредоточиться на нюансах машинного обучения и беспокоиться о мельчайших деталях веб-разработки.

Давайте будем честными: много времени при разработке приложений тратится на выяснение пользовательских интерфейсов и того, как различные компоненты взаимодействуют друг с другом. После бесчисленных часов создания веб-приложений меня осенило: почему бы не автоматизировать большую часть этого процесса? Это вдохновение привело к созданию Fast Dash, предназначенного для запуска и запуска ваших веб-приложений в рекордно короткие сроки.

Вот простой пример: создание веб-приложения, которое отображает диаграммы Matplotlib, чтобы дать вам представление о том, на что способен Fast Dash.

Fast Dash довольно интуитивно понятен. Он считывает все о вашей функции Python, проверяя такие элементы, как ее имя, метки входных и выходных аргументов, типы данных и строки документации. Используя всю эту информацию, он на лету разрабатывает интерактивный пользовательский интерфейс, а затем развертывает его как полноценное веб-приложение!

Читайте дальше, чтобы узнать, как работает Fast Dash, как начать работу и как настроить свои приложения. Если вместо этого вы сначала покрутите его, просто pip install fast-dash . Чтобы узнать больше, посетите репозиторий GitHub и документацию.

Как работает Fast Dash?

Fast Dash основан на двух основополагающих принципах.

  1. Каждое веб-приложение можно свести к одной функции Python.
  2. Благодаря подробным аннотациям функция Python может содержать все детали проекта, необходимые для интерактивного веб-приложения.

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

Способность читать и понимать функции Python позволяет Fast Dash выбирать лучшие компоненты и интерактивность для вашего приложения. На данный момент Fast Dash поддерживает только бэкэнд Plotly Dash. Это означает, что Fast Dash можно развернуть, как и любое другое приложение Flask.

Создание приложений Fast Dash

Просто нажмите @fastdash перед вашей функцией Python — это самый простой способ создать приложение Fast Dash. С помощью декоратора the@fastdash Fast Dash быстро развернет вашу функцию. Давайте разберем это на простом примере:

from fast_dash import fastdash

@fastdash
def text_to_text_function(input_text):
    return input_text
# * Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)

Исход? Проверьте это:

Но очарование Fast Dash не ограничивается простыми задачами. Вооруженный правильными подсказками по типам ввода и вывода, он способен развертывать даже самые сложные функции Python.

Рассмотрим этот пример:

import PIL
import matplotlib.pyplot as plt
from fast_dash import fastdash, Graph

output_layout = """
AB
AC
"""
@fastdash(mosaic=output_layout, theme="BOOTSTRAP")
def multiple_output_components(start_date: datetime.date, # Adds a date component
                            upload_image: PIL.ImageFile, # Adds an upload component
                            fips: str = ["01007", "01008", "01009"]) # Adds a single-select dropdown
                            -> (Graph, plt.Figure, plt.Figure): 
                            # Output components are a Plotly graph, and two figure components
    "Fast Dash allows using mosaic arrays to arrange output components"
    choropleth_map = ... # Plotly Graph code
    histogram = ... # Matplotlib figure code
    radar_chart = ... # Matplotlib figure code
    return chloropleth_map, histogram, radar_chart
# * Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)

И вуаля! Вот наша функция в действии:

Одной из выдающихся особенностей Fast Dash является его гибкость. Хотя он предлагает быстрый механизм по умолчанию для преобразования подсказок типов данных в компоненты, он не ограничивает вас. Вы также можете использовать компоненты Dash напрямую в качестве подсказок по типу, адаптируя компоненты в соответствии с вашими потребностями.

Например, вместо upload_image: PIL.ImageFile можно написать и upload_image: dcc.Upload(...). Таким образом, вы можете настроить компонент по своему вкусу, минуя выбор Fast Dash по умолчанию для типа данных PIL.ImageFile.

Fast Dash можно использовать для создания веб-приложений везде, где вы используете Python. Его универсальность очевидна во многих областях. Вот несколько примеров, когда Fast Dash реализовывал проекты в веб-приложениях генеративного искусственного интеллекта, языкового перевода, компьютерного зрения и геопространственной аналитики (модели НАСА и Geemap).

Настройка приложений Fast Dash

Помимо обеспечения быстрого развертывания, вы можете настраивать и изменять различные аспекты своих веб-приложений в соответствии со своими целями. Вы можете переключить тему, настроить заголовок и подзаголовок, добавить ссылки на социальные сети или развернуть в Jupyter Notebook вместо отдельного порта. Подробнее о настройке читайте здесь.

А пока давайте сосредоточимся на настройке визуального расположения компонентов вывода. Концепция полностью посвящена «мозаике». Черпая вдохновение из метода subplot_mosaic Matplotlib, Fast Dash позволяет создавать макеты с использованием диаграммы в стиле ASCII или списка строк.

Каждая уникальная буква или строка в этой мозаике означает уникальный компонент. Этот подход меняет правила игры, особенно если вы стремитесь к неоднородной сетке.

Например, представьте, что желаемое расположение вывода похоже на следующее изображение:

В этом случае вы можете определить свою мозаику как «ABB \n CDE». Затем Fast Dash подготовится к пяти выводам. Fast Dash делит пространство на шесть блоков одинакового размера, расположенных в сетке 2 x 3. Первый вывод получает верхний левый блок. Второй вывод распространяется на следующие два поля в верхнем ряду. И каждый из оставшихся трех выходов получает свой квадратик в строке ниже.

В заключение

По своей сути Fast Dash — это упрощение. Он абстрагирует большую часть работы по управлению интерфейсом и сервером, позволяя разработчикам сосредоточиться на том, что они делают лучше всего: написании эффективного и действенного кода Python.

Это не просто инструмент для быстрого прототипирования. Благодаря своим возможностям настройки и встроенным возможностям документирования Fast Dash может стать основным инструментом в наборе инструментов любого разработчика, от опытного профессионала веб-разработчика до начинающего специалиста по обработке данных.

С Fast Dash будущее разработки веб-приложений на основе Python выглядит не только ярче, но и быстрее. И в сегодняшнем технологическом мире эту комбинацию трудно превзойти.

Итак, звёзды репо и pip install fast-dash сегодня!

ПИСАТЕЛЬ на MLearning.ai / Премьерное AI-видео / AI art Copyright