| import streamlit as st | |
| import tensorflow as tf | |
| from PIL import Image | |
| import numpy as np | |
| model = tf.keras.models.load_model('animal_classifier_model.h5') | |
| class_names = ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck'] | |
| st.title('Animal Classifier') | |
| uploaded_file = st.file_uploader("Choose an image...", type="jpg") | |
| if uploaded_file is not None: | |
| image = Image.open(uploaded_file) | |
| st.image(image, caption='Uploaded Image', use_column_width=True) | |
| image = image.resize((32, 32)) | |
| image_array = np.array(image) / 255.0 | |
| image_array = np.expand_dims(image_array, axis=0) | |
| predictions = model.predict(image_array) | |
| score = tf.nn.softmax(predictions[0]) | |
| st.write(f"Prediction: {class_names[np.argmax(score)]}") | |
| st.write(f"Confidence: {100 * np.max(score):.2f}%") | |