ホームページ  >  記事  >  バックエンド開発  >  Streamlit を使用すると Web アプリの作成がとても簡単になります

Streamlit を使用すると Web アプリの作成がとても簡単になります

DDD
DDDオリジナル
2024-10-23 21:25:02934ブラウズ

Making a Webapp is so EASY with Streamlit

Streamlit は、一般的にフロントエンドの知識を必要としないため、データ サイエンティストの間で人気があります。

コードをあまり書かずに、シンプルで実装が簡単な要素とウィジェットを提供します。

私は ML/AI プロジェクトで streamlit を数回使用しましたが、その経験は素晴らしかったです。ロジックの作成に集中でき、フロントエンド部分 (デザイン、レイアウトなど) は streamlit によって非常にうまく処理されます。

私の言っていることを理解できるように、streamlit と Python を使用してデモ Web アプリを作成しました。

ウェブアプリ

この Web アプリは、画像形式を別の形式に変換するものです。たとえば、画像が PNG 形式の場合、JPEG 画像に変換できます。

次のコードは、Web アプリのユーザー インターフェイスを作成します。

import streamlit as st
from imgconvrtr import convert_img_format
from PIL import Image

# Webpage setup
st.set_page_config(page_title="Image Convrtr")
st.title("Image Converter")
st.write("Convert your images in one _click_")

# File uploader
uploaded_file = st.file_uploader(
    "Upload an image",
    type=["png", "jpg", "jpeg", "jfif", "bmp"]
)

if uploaded_file is not None:
    # Show the uploaded image
    img = Image.open(uploaded_file)
    st.image(img, caption="Uploaded Image", use_column_width=True)

    # Show original image format
    st.write(f"Original format: {img.format}")

    # Output format selection
    format_options = ["PNG", "JPEG", "JFIF", "BMP"]
    output_format = st.selectbox("Choose output format", format_options)

    # Convert the image
    if img.format != output_format:
        if st.button("Convert"):
            converted_img = convert_img_format(uploaded_file, output_format.lower())
            st.write(f"Image converted to {output_format}")

            # Download button
            st.download_button(
                label=f"Download as {output_format}",
                data=converted_img,
                file_name=f"image.{output_format.lower()}",
                mime=f"image/{output_format.lower()}"
            )
    else:
        st.write("Select a different format... Yo!")

これで、この Web アプリが何をするのかについてはすでに簡単に理解できました。このコードで使用されているコンポーネントの説明にすぐに移ることができます。

最初に、st.title や st.write などのページ要素が表示されます。これらは、それぞれページ タイトルの設定とページ上のテキストの表示に使用されます。

次に、ファイルをアップロードするためのウィジェットが表示されます (この場合は画像のアップロードに使用されます)。ファイル アップローダーの作成がいかに簡単かをご覧ください。

st.image は、ユーザーがアップロードした画像を表示するために使用されます。

次に、セレクトボックス (st.selectbox) ウィジェットを使用して作成された、さまざまな形式を選択するためのドロップダウンがあります。

これで、2 つのボタン (st.button と st.download_button) があることがわかります。どちらも同じですが、利便性が重要です。

st.button には、ここで画像変換に使用したボタン ウィジェットが表示されます。

st.download_button は、ユーザーがアプリからファイルを直接ダウンロードする必要がある場合に便利です。

Streamlit は、さまざまな目的のために多数の要素とウィジェットを提供します。

この Web アプリを試したい場合は、必要なライブラリをインストールする必要があります:

pip install streamlit pillow

画像変換関数は次のとおりです:

from PIL import Image
import io

# Function to convert image format
def convert_img_format(image_file, frmat):
    with Image.open(image_file) as img:
        output_img = io.BytesIO()
        img.save(output_img, format=frmat.upper())
        output_img.seek(0)
        return output_img

次のコマンドを使用してアプリを実行します:

streamlit run <script_name>.py

実際のスクリプト名に置き換えます。


今回は以上です。
コーディングを続けます✌✌

以上がStreamlit を使用すると Web アプリの作成がとても簡単になりますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。