Streamlit은 일반적인 프론트엔드 지식이 필요하지 않기 때문에 데이터 과학자들 사이에서 인기가 많습니다.
많은 코드를 작성하지 않고도 간단하고 구현하기 쉬운 요소와 위젯을 제공합니다.
ML/AI 프로젝트에서 streamlit을 여러 번 사용했는데 경험이 정말 좋았습니다. 로직 작성에 더 집중할 수 있고, 프론트엔드 부분(디자인, 레이아웃 등)도 스트림라이트로 아주 잘 처리됩니다.
제가 말하는 내용을 이해하실 수 있도록 Streamlit과 Python을 사용하여 데모 웹앱을 만들었습니다.
이 웹앱은 이미지 형식을 다른 형식으로 변환하는 데 관한 것입니다. 예를 들어 이미지가 PNG 형식인 경우 JPEG 이미지로 변환할 수 있습니다.
다음 코드는 웹앱의 사용자 인터페이스를 만듭니다.
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!")
이제 여러분은 이 웹앱의 기능에 대해 이미 간략하게 이해하셨습니다. 이 코드에 사용된 구성 요소에 대해 바로 논의할 수 있습니다.
처음에는 각각 페이지 제목을 설정하고 페이지에 텍스트를 표시하는 데 사용되는 st.title 및 st.write와 같은 페이지 요소를 볼 수 있습니다.
다음으로 파일 업로드용 위젯을 볼 수 있습니다(이 경우 이미지 업로드에 사용됨). 파일 업로더를 만드는 것이 얼마나 쉬운지 알아보세요.
st.image는 사용자가 업로드한 이미지를 표시하는 데 사용됩니다.
그런 다음 선택 상자(st.selectbox) 위젯을 사용하여 생성된 다양한 형식을 선택할 수 있는 드롭다운이 있습니다.
이제 두 개의 버튼(st.button 및 st.download_button)이 있는 것을 볼 수 있습니다. 둘 다 동일하지만 편의성이 가장 중요합니다.
st.button은 여기에서 이미지 변환에 사용한 버튼 위젯을 표시합니다.
st.download_button은 사용자가 앱에서 파일을 직접 다운로드해야 할 때 유용합니다.
Streamlit은 다양한 목적에 맞는 다양한 요소와 위젯을 제공합니다.
이제 이 웹앱을 사용해 보려면 필수 라이브러리를 설치해야 합니다.
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을 사용하면 Webapp을 만드는 것이 매우 쉽습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!