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 predicted class label if prediction[0][0] < 0.5: label = 'Benign' else: label = 'Malignant' return label examples = [["benign.jpg"], ["malignant.jpg"]] # Define a Gradio interface for user interaction image_input = gr.inputs.Image(shape=(150, 150)) label_output = gr.outputs.Label() iface = gr.Interface( fn=predict, inputs=image_input, outputs=label_output, examples=examples, title="Skin Cancer Classification", description="Predicts whether a skin image is cancerous or not." ) iface.launch()