Spaces:
Sleeping
Sleeping
import gradio as gr | |
import tensorflow as tf | |
from tensorflow.keras.models import load_model | |
import numpy as np | |
from tensorflow.keras.preprocessing import image | |
def predict_input_image(img): | |
# Normalize the image by cropping (center crop) | |
h, w = img.size | |
crop_start_x = (w - 224) // 2 | |
crop_start_y = (h - 224) // 2 | |
img = img.crop((crop_start_x, crop_start_y, crop_start_x + 224, crop_start_y + 224)) | |
img = tf.image.resize(img, [224,224]) | |
img = np.expand_dims(img, axis = 0) | |
my_model = load_model('Brain_Tumor_Model.h5') | |
# Set a threshold for binary classification | |
threshold = 0.5 | |
# Make predictions using your model | |
predictions = my_model.predict(img) | |
# Convert predictions to binary (0 or 1) based on the threshold | |
binary_prediction = 'Tumor Detected' if predictions[0][0] > threshold else 'No Tumor Detected' | |
# Print or use the binary prediction as needed | |
print("Prediction:", binary_prediction) | |
# Define Gradio interface | |
iface = gr.Interface( | |
fn=predict_input_image, | |
inputs= 'image', | |
outputs="text", | |
) | |
# Launch the interface | |
iface.launch() |