| import streamlit as st | |
| import pandas as pd | |
| import json | |
| import pickle | |
| import numpy as np | |
| import tensorflow as tf | |
| from keras.models import load_model | |
| model = load_model("model_after.h5") | |
| with open('dict_butterfly_index.json','r') as file_2: | |
| dict_butterfly_index = json.load(file_2) | |
| def run(): | |
| with st.form('prediction_form'): | |
| st.write('Personal Information') | |
| uploaded = st.file_uploader(label='Input File Image',type=['png','jpg']) | |
| submitted = st.form_submit_button() | |
| st.write("Result Prediction") | |
| if submitted: | |
| img = tf.keras.utils.load_img(uploaded, target_size=(224, 224)) | |
| x = tf.keras.utils.img_to_array(img)/255 | |
| x = np.expand_dims(x, axis=0) | |
| images = np.vstack((x,x)) | |
| classes = model.predict(images, batch_size=10) | |
| idx = np.argmax(classes[0]) | |
| st.write(f"The predictions is = {dict_butterfly_index[str(idx)]}") | |
| st.image(img,caption="Uploaded Image", use_column_width=True) | |
| if __name__ == '__main__': | |
| run() |