import streamlit as st from tensorflow.keras.models import load_model from PIL import Image import numpy as np st.title("Skin Cancer Image Classification") st.write("Upload an image and let the model guess whether it is a cancer or not.") model = load_model("my_cnn_model.keras") def process_image(img): img = img.resize((170,170)) # set the size as 170 x 170 pixel img = np.array(img) img = img / 255.0 # normalized img = np.expand_dims(img, axis=0) return img file = st.file_uploader("Upload an image", type=["jpg", "jpeg", "png"]) if file is not None: img = Image.open(file) st.image(img, caption="Uploaded Image") image = process_image(img) prediction = model.predict(image) predicted_class = np.argmax(prediction) class_names = ["It is NOT Cancer!", "It is Cancer!"] st.write(class_names[predicted_class])