Специалистам по данным стало необходимо демонстрировать свою работу на панели инструментов или в работающем веб-приложении. Очень удобно знать инструменты, доступные для создания веб-приложения. Для этого доступно множество инструментов, таких как Dash, Voila, Panel, Streamlit и т. д. Но мой личный фаворит — Streamlit.

Я объяснил, как создать потоковое приложение, в моем предыдущем блоге. Хотя это очень простое приложение, не связанное с ML, оно дает вам представление о том, как создать веб-приложение для ваших нужд ML/AI. Его простота объясняет всю картину.

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

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

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

1. Код приложения Streamlit

2. Файл Requirement.txt (все это должно быть в вашем репозитории GitHub)

3. Для этого вам нужен профиль GitHub.

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

Как создать профиль GitHub?

Git — это бесплатное программное обеспечение с открытым исходным кодом, созданное Линусом Торвальдсом в 2005 году. Этот инструмент представляет собой систему контроля версий, которая изначально была разработана для работы с несколькими разработчиками ядра Linux. GitHub очень широко используется для хранения и обмена работой, связанной с AI/ML.

В этой статье подробно объясняется, как создать профиль и репозиторий GitHub. Спасибо Гаэлю Томасу.



Где взять код приложения Streamlit?

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

import streamlit as st
import random
from matplotlib import pyplot as plt
from PIL import Image

st.markdown("<h1 style='text-align: center;font-size: 62px; color: Blue;'>Dice Roller</h1>", unsafe_allow_html=True)

def make_grid(cols,rows):
    grid = [0]*cols
    for i in range(cols):
        with st.container():
            grid[i] = st.columns(rows)
    return grid
    
m = st.markdown("""
<style>
div.stButton > button:first-child {
    background-color: #0099ff;
    color:#ffffff;
}
div.stButton > button:hover {
    background-color: #1BAF14;
    color:#ffffff;
    }
</style>""", unsafe_allow_html=True)

mygrid = make_grid(3,3)  

no=1 

mygrid_1 = make_grid(3,5) 
submitted = mygrid_1[2][2].button("Roll the Dice!") 
if submitted:
 # Generates a random number
    # between 1 and 6 (including both 1 and 6)
    no = random.randint(1,6)
    
     
if no == 1:
 img = Image.open("dice_1.png")
 mygrid[1][1].image(img) 
 
if no == 2:
 img = Image.open("dice_2.png")
 mygrid[1][1].image(img)
 
if no == 3:
 img = Image.open("dice_3.png")
 mygrid[1][1].image(img)
 
if no == 4:
 img = Image.open("dice_4.png")
 mygrid[1][1].image(img)
 
if no == 5:
 img = Image.open("dice_5.png")
 mygrid[1][1].image(img)
 
if no == 6:
 img = Image.open("dice_6.png")
 mygrid[1][1].image(img) 

Как получить файл Requirement.txt?

Вы можете ввести «Conda list» в приглашении anaconda, и вы получите список всех установленных пакетов. Вы можете выбрать версию тех, которые вы использовали при создании приложения. Здесь я использовал пакеты matplotlib, Pillow и Streamlit. Вы не должны предоставлять случайные. Итак, ваш файл Requirements.txt будет выглядеть так, как показано ниже.

Я также добавил несколько изображений. скачать их можно здесь, а также добавить в репозиторий.

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

Более простой способ

Вы можете клонировать его здесь, чтобы сэкономить все свое время.

Теперь все готово для развертывания вашего приложения.

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

Вы можете открыть share.streamlit.io. войдите, используя свой профиль GitHub. Затем нажмите кнопку Новое приложение.

Откроются поля ниже. В поле репозитория вы можете выбрать репозиторий GitHub. Филиал будет заполнен автоматически; если нет, вы можете выбрать основную/главную ветку в репо. Путь к основному файлу будет streamlit_dice_roller.py в примере, о котором я говорю. URL-адрес приложения будет заполнен автоматически.

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

Поздравляем, ваше веб-приложение развернуто... оно запущено и работает... Вы можете поделиться URL-адресом с кем угодно.