|
|
import gradio as gr |
|
|
from keras.models import load_model |
|
|
import numpy as np |
|
|
import cv2 |
|
|
|
|
|
|
|
|
model = load_model("keras_model.h5", compile=False) |
|
|
|
|
|
|
|
|
class_names = open("labels.txt", "r").readlines() |
|
|
|
|
|
|
|
|
def classify_image(image): |
|
|
img_resized = cv2.resize(image, (224, 224)) |
|
|
img_array = np.expand_dims(img_resized, axis=0) |
|
|
img_array = img_array / 255.0 |
|
|
|
|
|
predictions = model.predict(img_array) |
|
|
class_index = np.argmax(predictions) |
|
|
confidence = predictions[0][class_index] |
|
|
|
|
|
return {class_names[i].strip(): float(predictions[0][i]) for i in range(len(class_names))}, f"Sınıf: {class_names[class_index].strip()} (Güven: {confidence:.2f})" |
|
|
|
|
|
|
|
|
interface = gr.Interface( |
|
|
fn=classify_image, |
|
|
inputs=gr.Image(type="numpy", label="Bir görüntü yükleyin"), |
|
|
outputs=[ |
|
|
gr.Label(num_top_classes=3, label="Tahminler"), |
|
|
gr.Text(label="Sonuç") |
|
|
], |
|
|
title="Burak TURGUT Görüntü Sınıflandırma Model Programı", |
|
|
description="Bir görüntü yükleyin ve modelin sınıflandırmasını görün." |
|
|
) |
|
|
|
|
|
|
|
|
interface.launch() |