Skin_Type / app.py
dini15's picture
Upload app.py
7f6215b verified
#import libraries
import pandas as pd
impurt numpy as np
import streamlit as st
from tensorflow.keras.preprocessing.image import load_img, img_to_array
from tensorflow_hub.keras_layer import KerasLayer
import tensorflow as tf
from tensorflow.keras.models import load_model
#import pickle
import pickle
#load model
def run():
st.image('https://i.ytimg.com/vi/Y7nGCB3S5Ww/maxresdefault.jpg', use_container_width=True)
st.title("Skin Type Prediction Model")
st.write("Upload an image to know your skin type!")
file = st.file_uploader("Upload an image", type=["jpg", "png"])
model = load_model('model_aug.keras', custom_objects={'KerasLayer': KerasLayer})
target_size=(220, 220)
def import_and_predict(image_data, model):
image = load_img(image_data, target_size=(220,220))
img_array = img_to_array(image)
img_array = tf.expand_dims(img_array, 0)
#Normalize image
img_array = img_array/255
#make prediction
predictions = model.predict(img_array)
#Get class with the highest possibility
idx = np.where(predictions => 0.5, 1, 0).item()
type = ['oily', 'dry', 'normal']
result = f'Prediction: {type[idx]}'
return result
if file is None:
st.text("Please upload in image file")
else:
result = import_and_predict(file, model)
st.image(file)
st.write(result)
if __name__ == "__main__"
run