| import gradio as gr |
| import numpy as np |
| from tensorflow.keras.preprocessing import image |
| from tensorflow.keras.models import load_model |
|
|
| |
| model = load_model("eiffel_model3.h5") |
|
|
| img_height, img_width = 224, 224 |
|
|
| def predict_burj(img): |
| img = img.resize((img_height, img_width)) |
| img_array = image.img_to_array(img) / 255.0 |
| img_array = np.expand_dims(img_array, axis=0) |
| prediction = model.predict(img_array)[0][0] |
| return "Not Eiffel Tower" if prediction > 0.5 else "Eiffel Tower" |
|
|
| examples = [ |
| "Eiffel1.jpeg", |
| "Eiffel2.jpeg", |
| "Non_Eiffel1.jpg", |
| "Non_Eiffel2.jpeg" |
| ] |
|
|
| interface = gr.Interface( |
| fn=predict_burj, |
| inputs=gr.Image(type="pil"), |
| outputs="text", |
| title="Eiffel Tower Classifier", |
| description="Upload an image to check if it's Eiffel Tower or not.", |
| examples=examples |
| ) |
|
|
| interface.launch() |
|
|