|
import os |
|
import tensorflow as tf |
|
|
|
|
|
os.environ["CUDA_VISIBLE_DEVICES"] = "-1" |
|
|
|
|
|
def load_model(): |
|
model = tf.keras.models.load_model('depi-graduation-project.h5') |
|
return model |
|
|
|
model = load_model() |
|
|
|
|
|
|
|
labels = ['Water', 'Cloudy', 'Desert', 'Green Area'] |
|
|
|
|
|
def classify_image(image): |
|
img = image.resize((128, 128)) |
|
img = np.array(img) / 255.0 |
|
img = np.expand_dims(img, axis=0) |
|
prediction = model.predict(img) |
|
predicted_class = labels[np.argmax(prediction)] |
|
|
|
|
|
return {labels[i]: float(prediction[0][i]) for i in range(len(labels))} |
|
|
|
|
|
image_input = gr.inputs.Image(shape=(128, 128)) |
|
label_output = gr.outputs.Label(num_top_classes=4) |
|
|
|
|
|
gr.Interface(fn=classify_image, |
|
inputs=image_input, |
|
outputs=label_output, |
|
title="Satellite Image Classification", |
|
description="Classify satellite images into four types: Water, Cloudy, Desert, Green Area").launch() |