Surakshit / app.py
DeshwalX's picture
Upload app.py
711320e verified
Raw
History Blame Contribute Delete
1.05 kB
import numpy as np
import gradio as gr
import tensorflow as tf
from tensorflow.keras.models import load_model
from tensorflow.keras.applications.efficientnet import preprocess_input
from tensorflow.keras.preprocessing import image
# Load model
model = load_model("best_model_finetuned.h5")
CLASS_NAMES = ['fire_disaster', 'land_disaster', 'not_disaster', 'water_disaster']
def predict(img):
img = img.resize((224, 224))
img_array = np.array(img)
img_array = np.expand_dims(img_array, axis=0)
img_array = preprocess_input(img_array)
prediction = model.predict(img_array)
predicted_index = np.argmax(prediction)
confidence = float(np.max(prediction))
return {
CLASS_NAMES[i]: float(prediction[0][i])
for i in range(len(CLASS_NAMES))
}
interface = gr.Interface(
fn=predict,
inputs=gr.Image(type="pil"),
outputs=gr.Label(),
title="Disaster Classification CNN",
description="Upload an image to classify disaster type"
)
interface.launch()