Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import tensorflow as tf | |
| from tensorflow.keras.models import load_model | |
| import numpy as np | |
| from PIL import Image | |
| import io | |
| def predict_input_image(img): | |
| # Normalize the image by cropping (center crop) | |
| h, w = img.shape[:2] | |
| crop_start_x = (w - 224) // 2 | |
| crop_start_y = (h - 224) // 2 | |
| img = img[crop_start_y:crop_start_y+224, crop_start_x:crop_start_x+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' | |
| # Return the binary prediction | |
| return binary_prediction | |
| # Define Gradio interface | |
| iface = gr.Interface( | |
| fn=predict_input_image, | |
| inputs=gr.Image(), | |
| outputs='text', | |
| examples = [ | |
| ['G_101.jpg'], | |
| ['N_10.jpg'], | |
| ['M_107.jpg'], | |
| ['N_101.jpg'], | |
| ['M_119.jpg'], | |
| ['N_128.jpg'] | |
| ] | |
| ) | |
| # Launch the interface | |
| iface.launch() |