finalProject / app.py
219x5a05k4gprecacin's picture
Rename streamlit_host.py to app.py
cd1dd79 verified
raw
history blame contribute delete
No virus
1.38 kB
import cv2
import numpy as np
import streamlit as st
import tensorflow as tf
from tensorflow.keras.preprocessing import image
from tensorflow.keras.applications.mobilenet_v2 import MobileNetV2,preprocess_input as mobilenet_v2_preprocess_input
model = tf.keras.models.load_model("saved_model/mdl_wts.hdf5")
### load file
uploaded_file = st.file_uploader("Choose a image file", type="jpg")
map_dict = {0: 'dog',
1: 'horse',
2: 'elephant',
3: 'butterfly',
4: 'chicken',
5: 'cat',
6: 'cow',
7: 'sheep',
8: 'spider',
9: 'squirrel'}
if uploaded_file is not None:
# Convert the file to an opencv image.
file_bytes = np.asarray(bytearray(uploaded_file.read()), dtype=np.uint8)
opencv_image = cv2.imdecode(file_bytes, 1)
opencv_image = cv2.cvtColor(opencv_image, cv2.COLOR_BGR2RGB)
resized = cv2.resize(opencv_image,(224,224))
# Now do something with the image! For example, let's display it:
st.image(opencv_image, channels="RGB")
resized = mobilenet_v2_preprocess_input(resized)
img_reshape = resized[np.newaxis,...]
Genrate_pred = st.button("Generate Prediction")
if Genrate_pred:
prediction = model.predict(img_reshape).argmax()
st.title("Predicted Label for the image is {}".format(map_dict [prediction]))