Download app.py from ThesisBDK/Prototype: direct link, hf CLI and curl.
- Browser
- Download file 1.72 kB
-
https://huggingface.co/spaces/ThesisBDK/Prototype/resolve/main/app.py
- Command line
-
hf download hf://spaces/ThesisBDK/Prototype/app.py
-
curl -L -o app.py https://huggingface.co/spaces/ThesisBDK/Prototype/resolve/main/app.py
1.72 kB
| from helper.model import fetch_model, preprocess_image, classify_image | |
| from PIL import Image | |
| import streamlit as st | |
| import io | |
| st.set_page_config( | |
| page_title="VGNet Prototype", | |
| page_icon="🤖", | |
| ) | |
| st.title("Using Deep Learning Techniques on Philippine Corn Leaf Disease Classification") | |
| st.write("This is the prototype of VGNet model trained using different optimizers") | |
| st.write("Thesis Project by Group BDK of Mapua University") | |
| st.image( | |
| "resources/corn-field.png", | |
| caption='A corn field', | |
| width=700 | |
| ) | |
| st.header("How to use?") | |
| st.markdown(""" | |
| 1. Select a model. | |
| 2. Select an image (Leaf Blight, Gray Leaf Spot, Common Rust). | |
| 3. Upload the selected image here. | |
| 4. The model will output the classification result if the image is (Leaf Blight, Gray Leaf Spot, Common Rust). | |
| """) | |
| uploaded_image = st.file_uploader( | |
| "Choose an image...", | |
| type=["bmp", "png", "jpg", "jpeg"] | |
| ) | |
| model_labels = [ | |
| "VGNet + Adam", | |
| "VGNet + Adan", | |
| "VGNet + AdamW", | |
| "VGNet + RMSprop", | |
| "VGNet + AdaBound" | |
| ] | |
| model_option = st.selectbox( | |
| "Select a Model:", | |
| list(range(len(model_labels))), | |
| format_func=lambda ind: model_labels[ind] | |
| ) | |
| # Check if an image was uploaded | |
| if uploaded_image is not None: | |
| # Preprocess the image | |
| image = preprocess_image( | |
| Image.open( | |
| uploaded_image | |
| ) | |
| ) | |
| # Fetch the model | |
| model_optimizer_name = ["adam", "adan", "adamw", "rmsprop", "adabound"] | |
| model = fetch_model(model_optimizer_name[model_option]) | |
| # Perform classification | |
| predicted_label = classify_image(model, image) | |
| # Display Prediction Result | |
| st.image(image, clamp = True) | |
| st.write(f"Prediction Result: {predicted_label}") | |