| |
|
| | 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
|
| |
|
| |
|
| | 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)
|
| |
|
| |
|
| | img_array = img_array/255
|
| |
|
| |
|
| | predictions = model.predict(img_array)
|
| |
|
| |
|
| | 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 |