Streamlit est plutôt populaire parmi les data scientists car vous n'avez pas besoin de connaissances frontend en général.
Ils fournissent des éléments et des widgets simples et faciles à implémenter sans écrire beaucoup de code.
J'ai utilisé Streamlit plusieurs fois dans mes projets ML/AI, et l'expérience a été formidable. Vous pouvez vous concentrer davantage sur l'écriture de la logique, et la partie frontend (conception, mise en page, etc.) est très bien gérée par streamlit.
J'ai créé une webapp de démonstration en utilisant streamlit et Python pour que vous puissiez comprendre ce que je dis.
Cette application Web consiste à convertir un format d'image en un autre format, par exemple, si votre image est au format PNG, vous pouvez la convertir en image JPEG.
Le code suivant constitue l'interface utilisateur de la webapp.
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!")
Vous avez maintenant déjà une brève idée de ce que fait cette webapp. Nous pouvons directement passer à la discussion des composants utilisés dans ce code.
Au début, vous pouvez voir des éléments de page comme st.title et st.write qui sont utilisés respectivement pour définir le titre de la page et afficher le texte sur la page.
Ensuite, vous pouvez voir un widget pour télécharger un fichier (dans ce cas, utilisé pour télécharger une image). Découvrez à quel point il est facile de créer un téléchargeur de fichiers.
st.image est utilisé pour afficher l'image téléchargée par l'utilisateur.
Ensuite, nous avons une liste déroulante pour sélectionner une variété de formats qui est créée à l'aide d'un widget selectbox (st.selectbox).
Maintenant, vous pouvez voir que nous avons deux boutons (st.button et st.download_button). Ils sont tous les deux identiques mais c'est une question de commodité.
Le st.button affiche un widget de bouton que nous avons utilisé ici pour la conversion d'images.
Le st.download_button le rend utile lorsque l'utilisateur doit télécharger directement le fichier depuis l'application.
Streamlit fournit de nombreux éléments et widgets à des fins différentes.
Maintenant, si vous souhaitez essayer cette webapp, vous devez installer les bibliothèques requises :
pip install streamlit pillow
Voici la fonction de conversion d'image :
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
Exécutez l'application à l'aide de la commande suivante :
streamlit run <script_name>.py
Remplacez par le nom réel du script.
C'est tout pour le moment.
Continuez à coder✌✌
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!