Spaces:
Sleeping
Sleeping
import gradio as gr | |
import numpy as np | |
from tensorflow.keras.models import load_model | |
# Load the trained model | |
model = load_model('skin_model.h5') | |
# Define a function to make predictions | |
def predict(image): | |
# Preprocess the image | |
image = image / 255.0 | |
image = np.expand_dims(image, axis=0) | |
# Make a prediction using the model | |
prediction = model.predict(image) | |
# Get the sigmoid percentage | |
sigmoid_percentage = prediction[0][0] * 100 | |
# Get the predicted class label | |
if prediction[0][0] < 0.5: | |
label = 'Benign' | |
else: | |
label = 'Malignant' | |
return f"{label} ({sigmoid_percentage:.2f}%)" | |
examples = [["benign.jpg"], ["malignant.jpg"]] | |
# Define input and output components | |
image_input = gr.inputs.Image(shape=(150, 150)) | |
label_output = gr.outputs.Label() | |
# Define a Gradio interface for user interaction | |
iface = gr.Interface( | |
fn=predict, | |
inputs=image_input, | |
outputs=label_output, | |
examples=examples, | |
title="Skin Cancer Classification", | |
description="Predicts whether a Skin Lesion is Cancerous or not.", | |
theme="default", # Choose a theme: "default", "compact", "huggingface" | |
layout="vertical", # Choose a layout: "vertical", "horizontal", "double" | |
live=False | |
) | |
iface.launch() | |