Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import tensorflow as tf | |
| import numpy as npv | |
| from PIL import Image | |
| # Load the model | |
| model = tf.keras.models.load_model("cifar10_cnn_model.h5") | |
| # CIFAR-10 class names | |
| class_names = [ | |
| "Airplane", "Automobile", "Bird", "Cat", "Deer", | |
| "Dog", "Frog", "Horse", "Ship", "Truck" | |
| ] | |
| # Streamlit app layout | |
| st.title("CIFAR-10 Image Classifier") | |
| st.write("Upload an image to classify it into one of the CIFAR-10 categories.") | |
| # File uploader | |
| uploaded_file = st.file_uploader("Choose an image...", type=["jpg", "png", "jpeg"]) | |
| if uploaded_file: | |
| # Preprocess the uploaded image | |
| image = Image.open(uploaded_file).resize((32, 32)) | |
| st.image(image, caption="Uploaded Image", use_column_width=True) | |
| # Convert image to array | |
| img_array = np.array(image) / 255.0 # Normalize | |
| img_array = np.expand_dims(img_array, axis=0) # Add batch dimension | |
| # Predict | |
| with st.spinner("Classifying..."): | |
| predictions = model.predict(img_array) | |
| predicted_class = class_names[np.argmax(predictions)] | |
| confidence = np.max(predictions) | |
| # Display results | |
| st.success(f"Prediction: {predicted_class}") | |
| st.info(f"Confidence: {confidence:.2f}") | |