Spaces:
Runtime error
Runtime error
import gradio as gr | |
from PIL import Image | |
from fastai.vision.all import * | |
import numpy as np | |
# Model Loading (Choose ONE) | |
# learner = load_learner('export_2.pkl') # If using exported pickle model | |
learner = load_learner('model-epoch=119.ckpt') # If using checkpoint | |
def predict_image(file): | |
if file.name.endswith('.npz'): | |
# Load NPZ data | |
with np.load(file.name) as data: | |
# Assuming your NPZ file contains an array named 'arr_0' | |
img_array = data['arr_0'] | |
# Ensure correct dimensions (e.g., channels last) | |
# img_array = img_array.transpose((1, 2, 0)) # If needed | |
img = Image.fromarray(img_array) | |
else: | |
# Load regular image files (JPG, PNG, etc.) | |
img = PILImage.create(file.name) | |
pred = learner.predict(img) | |
return pred[0] | |
def create_interface(): | |
image_input = gr.File( | |
label="Upload Image or NPZ", | |
file_types=[".jpg", ".jpeg", ".png", ".npz"] | |
) | |
output = gr.Text() | |
iface = gr.Interface( | |
fn=predict_image, | |
inputs=image_input, | |
outputs=output, | |
title="Medical Image Segmentation", # More informative title | |
description="Upload an image or NPZ file to segment." # Clear description | |
) | |
return iface | |
if __name__ == "__main__": | |
iface = create_interface() | |
iface.launch(share=True) | |