|
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() |