Пошаговое руководство по развертыванию моделей машинного обучения с помощью Streamlit

Опубликовано: 2020-12-07

Оглавление

Введение

Большинство энтузиастов машинного обучения записываются на некоторые курсы и учебные программы, чтобы начать работу с ИИ и МО. Эти курсы охватывают множество фундаментальных вещей и помогают учащимся создавать и обучать современные модели машинного обучения.

Но одна вещь, с которой борются большинство новичков, — это часть развертывания. Проект машинного обучения нельзя оставить без какого-либо интерактивного приложения вокруг него. Чтобы пользователи могли легко взаимодействовать с моделью или даже демонстрировать наши проекты, нам нужно обернуть их в веб-приложения, приложения для Android или какие-то структуры API с использованием облачных сервисов.

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

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

Если вы продолжите создание такого веб-приложения с использованием некоторых фреймворков, таких как Flask или Django, я почти уверен, что сначала потребуется много времени, чтобы создать этот пользовательский интерфейс, а затем возникнет другая проблема с размещением его на сервере, чтобы это может быть доступно каждому.

И здесь возникает главный вопрос: «Почему энтузиасты машинного обучения должны тратить свое время на изучение некоторых фреймворков пользовательского интерфейса, если вместо этого они могут использовать это драгоценное время для обучения созданию лучших моделей?»

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

  • Почему Стримлит?
  • Построение базовой модели ML
  • Добавление магии с помощью Streamlit
  • Развертывание веб-приложения Streamlit
  • Заключение

Почему Стримлит?

Streamlit позволяет нам очень легко и быстро создавать веб-приложения машинного обучения. Другие доступные способы разработки таких оберток для ML-моделей не очень удобны.

Flask — это среда Python, которая позволяет пользователям разрабатывать веб-приложения и развертывать их с использованием языка Python. Это требует хорошего знания Python, а также нам нужно потратить время на его изучение. Даже после этого разработать веб-приложение не так-то просто по сравнению со Streamlit.

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

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

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

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

Модели хорошо работали в блокноте Jupyter, но я хотел поделиться ими с другими. Я начал искать фреймворки для создания приложения и размещения модели, но не хотел тратить время на изучение еще одного фреймворка, так как хотел изучить другие реализации GAN.

Я проверил все альтернативные ресурсы, о которых я говорил в этой статье ранее. Генераторная модель, используемая в проекте генерации Sketch-To-Color, немного сложна. Это модель архитектуры U-Net, которая требует, чтобы вы пропускали соединения.

Из-за его высокой сложности мне не удалось преобразовать окончательную модель для Javascript с помощью Tensorflow.js. Изучение Flask или Django с нуля было для меня неподходящим вариантом, поэтому я начал искать другие фреймворки или библиотеки.

Именно тогда я наткнулся на Streamlit. В статье Адриана Трейля он показывает, как он создал потрясающее веб-приложение для TL-GAN, написав менее 13 строк кода. Все это стало возможным только благодаря Streamlit.

Документация на их официальном сайте также очень точна и полезна. Я попытался создать веб-приложение Streamlit для своей модели Sketch to Color GAN, и это было потрясающе. Мне нужно было всего лишь добавить 12 строк кода к моему существующему коду Python. Вот почему я, наконец, приступил к изучению Streamlit и созданию других проектов с его использованием.

Построение базовой модели машинного обучения

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

Во-первых, мы импортируем необходимые библиотеки для нашей простой модели машинного обучения. Здесь мы будем использовать TensorFlow, pandas и NumPy.

импортировать тензорный поток как tf

импортировать numpy как np

импортировать панд как pd

Теперь мы будем использовать наборы данных из Scikit-Learn, чтобы загрузить набор данных о жилье в Калифорнии.

из sklearn.datasets импортировать fetch_california_housing

жилье = fetch_california_housing()

Затем нам нужно разделить загруженные данные на обучающие, проверочные и тестовые наборы. Для этого существует множество способов. Мы будем использовать функцию train_test_split, доступную в библиотеке Scikit-Learn. Использование его дважды разделит набор данных на 3 набора: обучение, проверка и тест.

из sklearn.model_selection импорта train_test_split

X_train_full, X_test, y_train_full, y_test = train_test_split(

жилье.данные, жилье.цель

)

X_train, X_valid, y_train, y_valid = train_test_split(

X_train_full, y_train_full

)

Доступные нам данные имеют значения долготы и широты каждой записи. Чтобы лучше визуализировать это, мы можем сделать точечный график на карте. Чтобы использовать карты, мы импортируем библиотеку Altair .

Импортировать альтаир как альт

map_data = pd.DataFrame(

X_поезд,

столбцы=[

«МедИнк»,

«ХаусЭйдж»,

'AveRooms',

'AveBedrms',

'Население',

'AveOccup',

'широта',

'долгота'

])

середина = (np.average(map_data["широта"]), np.average(map_data["долгота"]))

st.write(pdk.Deck(

map_style="mapbox://styles/mapbox/light-v9",

Initial_view_state={

«широта»: середина [0],

«долгота»: середина[1],

«зум»: 6,

«шаг»: 75,

},

слои=[

pdk.Слой(

«Шестигранный слой»,

данные = карта_данные,

get_position=["долгота", "широта"],

радиус=1000,

высота_шкала = 4,

высота_диапазон = [0, 10000],

выбираемый = Верно,

экструдированный = Верно,

),

],

))

Данные, которые у нас есть сейчас, плохо обрабатываются для модели. Нам нужно сделать предварительную обработку, чтобы получить лучшие результаты. Прежде всего, нам нужно будет нормализовать значения, поскольку большинство моделей машинного обучения лучше всего работают, когда данные находятся в небольшом диапазоне значений. Для этого воспользуемся классом StandardScaler из библиотеки sklearn.

из sklearn.preprocessing импортировать StandardScaler

масштабатор = Стандартный масштаб()

X_train = масштабирование.fit_transform(X_train)

X_valid = масштабирование.transform(X_valid)

X_test = масштабатор.transform(X_test)

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

импортировать тензорный поток как tf

модель = tf.keras.models.Sequential([

tf.keras.layers.Dense (n_neurons, активация = 'relu', input_shape = X_train.shape [1:]),

tf.keras.layers.Dense(1)

])

В TensorFlow мы должны скомпилировать модель после ее построения. Здесь мы должны упомянуть функцию потерь, которую мы будем использовать, а также оптимизатор, который нам нужен. Мы будем использовать функцию потери среднеквадратичной ошибки и оптимизатор SGD с определенной скоростью обучения.

модель.компилировать(

потеря = 'mean_squared_error',

оптимизатор=tf.keras.optimizers.SGD(l_rate)

)

Теперь все на месте. Все, что нам нужно сделать, это обучить модель. В TensorFlow это можно сделать, просто вызвав метод fit(). Мы можем сохранить все журналы в переменной history .

история = model.fit(

X_поезд,

у_поезд,

эпохи = n_эпох,

validation_data=(X_valid, y_valid)

)

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

оценка = модель.оценить (X_test, y_test)

Теперь, если мы хотим спрогнозировать какие-либо цены на жилье с помощью этой модели, мы можем просто сделать это, вызвав метод predict() .

X_новый = X_тест[:3]

прогнозы = model.predict(X_new)

Вот как вы можете построить простую модель прогнозирования цен на жилье, используя TensorFlow, scikit-learn и pandas. Но проблема, как вы можете видеть, заключается в том, что нет возможности показать эту модель другим пользователям, где они могут с ней взаимодействовать, и это всего лишь модель внутри Jupyter Notebook. А теперь давайте добавим немного волшебства с помощью Streamlit!

Читайте также: Идеи проекта машинного обучения

Добавление волшебства с помощью Streamlit

Чтобы создать веб-приложение машинного обучения, вам просто нужно добавить несколько строк кода для вызовов функций Streamlit, и все. Вам не нужен HTML, CSS или Javascript. Просто чистый питон!

Да, вы правильно прочитали. Вам не нужно беспокоиться ни о чем другом. Просто установите Streamlit в свою систему, и вы будете готовы к работе. Используйте следующую команду в своих терминалах:

pip установить стримлит

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

привет

После локальной установки Streamlit и добавления волшебной строки в код вам нужно просто выполнить следующую команду, чтобы запустить приложение локально:

потоковый запуск имя_файла.py

Итак, теперь возникает вопрос: «Что это за волшебные строки кода?» Они довольно просты. Сначала я объясню основные функции, используемые в Streamlit, а затем покажу код, чтобы вы могли напрямую связать его с примером.

Прежде всего, мы импортируем библиотеку Streamlit, используя следующую строку кода:

импортировать Streamlit как st

Первая важная особенность заключается в том, что вы можете просто ввести что-либо в 3 двойных кавычках, это просто показывает текст, как в веб-приложении. Он поддерживает синтаксис языка уценки. Таким образом, вы можете делать множество вещей, таких как заголовки, маркеры, таблицы и многое другое. Вы также можете использовать функцию st.write() вместо этой записи. Он имеет тот же функционал.

Далее идет функция with st.echo():. Это в основном выполняет написанный в нем код Python, а затем также показывает его в веб-приложении. Таким образом, мы можем создать веб-приложение, которое показывает, как оно было создано.

st.empty() — это область, которая позже зарезервирована для некоторого динамического содержимого.

st.spinner() показывает элемент загрузки, когда есть некоторая задержка в выполнении фрагмента кода.

st.success() показывает сообщение зеленым цветом. У этого есть большой аспект дизайна диалогов успеха.

st.sidebar() по умолчанию отображает содержимое на боковой панели слева.

st.sidebar.slider() предоставляет ползунок на боковой панели для выбора значений из диапазона заданных чисел. st.sidebar.selectbox() позволяет вам выбрать значение из заданного списка, а Streamlit имеет еще много замечательных функций и возможностей. Некоторые из особенностей заключаются в следующем:

  • Живые изменения при сохранении файла
  • Перезапустите приложение, просто нажав R на клавиатуре.
  • Очистите кеш, просто нажав C на клавиатуре
  • Запишите веб-приложение и сохраните видеофайл локально, чтобы поделиться со всеми

…И многое другое

Обязательно прочтите: Карьера в машинном обучении

Код

импортировать Streamlit как st

импортировать альтаир как альт

импортировать pydeck как pdk

train_area = ул.пусто()

"""

# Цены на жилье в Калифорнии

Это набор данных о ценах на жилье в Калифорнии, который содержит данные переписи населения США 1990 года. В следующей таблице приведены описания, диапазоны данных и типы данных для каждой функции в наборе данных.

## Давайте сначала посмотрим на импорт

"""

со ст.эхо():

импортировать тензорный поток как tf

импортировать numpy как np

импортировать панд как pd

"""

## Загрузка набора данных

Мы будем использовать модуль набора данных scikit-learn для получения данных, которые уже очищены для нас и имеют только числовые характеристики.

"""

со ст.эхо():

из sklearn.datasets импортировать fetch_california_housing

жилье = fetch_california_housing()

"""

Это загрузит все данные в переменную `housing`, как вы можете видеть ниже.

"""

st.subheader('Входные функции')

жилье.данные

st.subheader('Выходные метки')

жилье.цель

"""

## Разделение данных на наборы для обучения, тестирования и разработки

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

К счастью для нас, у нас есть scikit-learn, где это стало так же просто, как 2 строки кода.

"""

со ст.эхо():

из sklearn.model_selection импорта train_test_split

X_train_full, X_test, y_train_full, y_test = train_test_split(

жилье.данные, жилье.цель

)

X_train, X_valid, y_train, y_valid = train_test_split(

X_train_full, y_train_full

)

"""

Функция `train_test_split()` разбивает данные на 2 набора, где тестовый набор составляет 25% от общего набора данных. Мы снова использовали ту же функцию для train_full, чтобы разделить ее на наборы для обучения и проверки. 25% — это параметр по умолчанию, и вы можете настроить его в соответствии со своими потребностями. Взгляните на это из [документации Scikit-Learn] (https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html).

## Взгляните на данные поезда

Столбцы представляют следующие данные:

"""

st.write(жилье.feature_names)

"""

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

"""

со ст.эхо():

map_data = pd.DataFrame(

X_поезд,

столбцы=[

«МедИнк»,

«ХаусЭйдж»,

'AveRooms',

'AveBedrms',

'Население',

'AveOccup',

'широта',

'долгота'

])

середина = (np.average(map_data["широта"]), np.average(map_data["долгота"]))

st.write(pdk.Deck(

map_style="mapbox://styles/mapbox/light-v9",

Initial_view_state={

«широта»: середина [0],

«долгота»: середина[1],

«зум»: 6,

«шаг»: 75,

},

слои=[

pdk.Слой(

«Шестигранный слой»,

данные = карта_данные,

get_position=["долгота", "широта"],

радиус=1000,

высота_шкала = 4,

высота_диапазон = [0, 10000],

выбираемый = Верно,

экструдированный = Верно,

),

],

))

"""

** Не стесняйтесь увеличивать масштаб или перетаскивать, удерживая нажатой клавишу ALT, чтобы изменить угол обзора карты в 3D по мере необходимости. **

## Предварительная обработка

Как указывалось ранее, этот набор данных уже хорошо предварительно обработан scikit-learn, чтобы мы могли использовать его напрямую, не беспокоясь о каких-либо значениях NaN и других вещах.

Хотя мы собираемся масштабировать значения в определенных диапазонах с помощью «StandardScaler», чтобы наша модель работала эффективно.

"""

со ст.эхо():

из sklearn.preprocessing импортировать StandardScaler

масштабатор = Стандартный масштаб()

X_train = масштабирование.fit_transform(X_train)

X_valid = масштабирование.transform(X_valid)

X_test = масштабатор.transform(X_test)

"""

## Создание модели

Мы создадим простую последовательную модель с первым слоем, содержащим 30 нейронов и функцию активации RELU.

Следующим слоем будет один слой нейронов без функции активации, поскольку мы хотим, чтобы модель предсказывала диапазон значений, а не только бинарные или мультиклассовые результаты, такие как задачи классификации.

"""

st.sidebar.title('Гиперпараметры')

n_neurons = st.sidebar.slider('Нейроны', 1, 128, 30)

l_rate = st.sidebar.selectbox('Скорость обучения', (0,0001, 0,001, 0,01), 1)

n_epochs = st.sidebar.number_input('Количество эпох', 1, 50, 20)

#n_neurons, l_rate и _nepochs — это входные данные, полученные от пользователя для обучения модели. Для них также установлены значения по умолчанию. Значение по умолчанию для n_neurons равно 30, значение по умолчанию для l_rate равно 0,01, а значение по умолчанию для n_epochs равно 20. Таким образом, в начале модель будет иметь 30 нейронов в первом слое, скорость обучения будет 0,01, а количество эпох для для которого модель будет тренироваться, равно 20.

со ст.эхо():

импортировать тензорный поток как tf

модель = tf.keras.models.Sequential([

tf.keras.layers.Dense (n_neurons, активация = 'relu', input_shape = X_train.shape [1:]),

tf.keras.layers.Dense(1)

])

"""

## Компиляция модели

API Tensorflow keras предоставляет нам функцию `model.compile()` для назначения оптимизаторов, функции потерь и некоторых других деталей для модели.

"""

со ст.эхо():

модель.компилировать(

потеря = 'mean_squared_error',

оптимизатор=tf.keras.optimizers.SGD(l_rate)

)

"""

## Обучение модели

Чтобы обучить модель, вам просто нужно вызвать функцию `fit()` для модели с набором для обучения и проверки и количеством эпох, для которых вы хотите, чтобы модель обучалась.

** Попробуйте поиграть с гиперпараметрами на боковой панели слева и нажмите кнопку «Обучить модель», указанную ниже, чтобы начать обучение. **

"""

train = st.button('Модель поезда')

если поезд:

с st.spinner('Обучающая модель…'):

со ст.эхо():

model.summary(print_fn=лямбда x: st.write("{}".format(x)))

история = model.fit(

X_поезд,

у_поезд,

эпохи = n_эпох,

validation_data=(X_valid, y_valid)

)

st.success('Обучение модели завершено!')

"""

## Производительность модели

"""

со ст.эхо():

st.line_chart(pd.DataFrame(история.история))

"""

## Оценка модели на тестовом наборе

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

"""

со ст.эхо():

оценка = модель.оценить (X_test, y_test)

оценка

"""

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

"""

"""

## Прогнозы с использованием модели

"""

со ст.эхо():

X_новый = X_тест[:3]

прогнозы = model.predict(X_new)

"""

### Предсказания

"""

предсказания

"""

### Основная правда

"""

у_тест[:3]

Это было! Всего несколько дополнительных строк кода, и вы уже создали отличное веб-приложение, которое красиво выглядит и имеет динамический контент. Это было не так сложно, не так ли? Попробуйте создать разные проекты и использовать другие функции Streamlit из их документации. Это довольно просто и интуитивно понятно.

Читайте: Машинное обучение с Python

Развертывание веб-приложения Streamlit

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

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

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

Heroku — еще один хороший способ развернуть веб-приложение Streamlit. Таким образом, вам не придется выбирать какие-либо облачные серверы, а затем настраивать в них виртуальные экземпляры. Обо всем позаботится Heroku.

В Heroku есть один простой недостаток: его бесплатная версия не позволит вам иметь все пакеты размером более 512 МБ в бесплатной версии. TensorFlow 2.2.0, который я использовал для проекта, немного больше указанного места, поэтому мне пришлось использовать другие сервисы.

AWS (Amazon Web Services) также является хорошим способом развертывания приложений Streamlit. Это немного сложно для новичка, но по мере его использования становится легче настроить. Они предоставляют бесплатные экземпляры EC2 для новых пользователей. Вы можете запустить его с Ubuntu 18.04 или выше и установить все зависимости, необходимые для приложения.

После того, как все настроено, вы можете запустить приложение с помощью команды — streamlit run filename.py. Здесь вы получите общедоступный URL-адрес, которым можно поделиться со всеми. Одним из основных недостатков здесь является то, что приложение недоступно в Интернете, если вы закроете экземпляр. Таким образом, бесплатный экземпляр будет иметь некоторые ограничения.

Если у вас есть код в репозитории GitHub, есть еще один отличный способ разместить ваше приложение. Это не очень профессионально и законно, потому что пользователю также необходимо установить Streamlit в своей системе.

Если Streamlit доступен в системе и у вас есть ссылка на файл python приложения Streamlit, вы можете запустить веб-приложение, просто выполнив команду: streamlit run url . Вы можете проверить мое приложение локально, если у вас установлен Streamlit. Используйте следующую команду в своих терминалах:

потоковый запуск https://raw.githubusercontent.com/tejasmorkar/housing_price_prediction_aws/master/CaliforniaHousingPrices.py

Заключение

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

Одна вещь, которая делает эту структуру такой простой для реализации, — это их официальная документация. Все, что написано в документах, четко и ясно. Я предлагаю вам один раз просмотреть документы и попробовать реализовать новый проект. Это лучший способ начать работу с любыми новыми фреймворками. Найдите официальную документацию Streamlit по следующей ссылке — https://docs.streamlit.io/en/stable/ target="_blank" rel="nofollow" .

Сообщество всегда является лучшим ресурсом для изучения вещей и поиска проблем с нашими решениями. У Streamlit есть прекрасный дискуссионный форум, где вы можете публиковать любые вопросы, касающиеся процесса разработки приложения Streamlit, любые сомнения относительно развертывания, запросы функций, отчеты об ошибках и все остальное, что может помочь вам успешно создать свое приложение. Присоединяйтесь к дискуссионному форуму по следующей ссылке — https://discuss.streamlit.io/

Если вам интересно узнать больше о машинном обучении, ознакомьтесь с дипломом PG IIIT-B и upGrad в области машинного обучения и искусственного интеллекта, который предназначен для работающих профессионалов и предлагает более 450 часов тщательного обучения, более 30 тематических исследований и заданий, IIIT- Статус B Alumni, более 5 практических практических проектов и помощь в трудоустройстве в ведущих фирмах.

В чем самая большая трудность при развертывании проекта машинного обучения?

Самая большая трудность в развертывании проекта машинного обучения — неполнота сбора данных. В большинстве случаев времени и денег недостаточно для сбора всех данных, необходимых для проведения точного анализа. Поэтому собранные данные должны быть надежными и качественными. Кроме того, должны быть выбраны правильные данные. Выбор данных является ключом к развертыванию проекта.

Что такое Streamlit в машинном обучении?

Streamlit — это инкрементный алгоритм машинного обучения. Он использует тот факт, что пространство поиска нейронных сетей очень велико, а обучение проходит быстро, поэтому ему не нужно искать во всем пространстве, а можно построить нейронную сеть локально. StreamLit — это форма долговременной кратковременной памяти, используемая для обработки последовательных данных. Это алгоритм глубокого обучения, который использовал RNN для кодирования данных в векторы чисел. Эти векторы можно использовать для представления данных в виде графиков или текста. Его также можно использовать для создания текста на естественном языке.

Как выполнить развертывание с помощью Streamlit?

Развернуть с помощью Streamlit просто. Во-первых, у вас должна быть учетная запись Streamlit. Во-вторых, вам нужно программное обеспечение, которое можно развернуть. Например, Beanstalk, S3 или rsync. В-третьих, вам необходимо подготовить программное обеспечение к развертыванию. Скопируйте свое приложение на веб-сервер с помощью rsync. Если вы развертываете новый веб-сайт, то веб-сайт — это скопированный вами каталог. Если вы развертываете существующий веб-сайт, загруженным веб-сайтом является скопированный вами каталог. В левой части экрана под