kadirnar's picture
upload
e67f813
raw
history blame
1.14 kB
from skimage.util import montage as montage2d
from utils import load_model, preprocess_image, attempt_download_from_hub
import matplotlib.pyplot as plt
import gradio as gr
def keras_inference(img_data, model_path):
model_path = attempt_download_from_hub(model_path)
seg_model = load_model(model_path)
out_img = preprocess_image(img_data)
pred_y = seg_model.predict(out_img)
plt.imshow(montage2d(pred_y[:, :, :, 0]), cmap = 'bone_r')
plt.savefig('output.png')
return 'output.png'
inputs = [
gr.Image(type='filepath', label='Image'),
gr.Dropdown(['keras_model.h5'], label='Model Path')
]
outputs = gr.Image(label='Segmentation')
examples = [
['data/testv1.jpg', 'kadirnar/Keras-Segmenting-Buildings-v1'],
['data/testv2.jpg', 'kadirnar/Keras-Segmenting-Buildings-v1'],
['data/testv3.jpg', 'kadirnar/Keras-Segmenting-Buildings-v1'],
]
title = 'Segmenting Buildings in Satellite Images with Keras'
demo_app = gr.Interface(
keras_inference,
inputs,
outputs,
title=title,
examples=examples,
cache_examples=True,
)
demo_app.launch(debug=True, enable_queue=True)