Spaces:
Sleeping
Sleeping
File size: 1,675 Bytes
466813c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import gradio as gr
from tensorflow.keras.models import load_model
from tensorflow.keras.preprocessing.image import img_to_array
from PIL import Image
import numpy as np
# Загрузка модели
model = load_model("digit_recognizer_model.h5")
# Функция для обработки изображения и предсказания
def predict_digit(image):
# Преобразование изображения
image = image.convert("L") # Конвертация в градации серого
image = image.resize((28, 28)) # Изменение размера на 28x28
image = img_to_array(image) # Преобразование в numpy-массив
image = image.reshape(1, 28, 28, 1) # Преобразование в формат (1, 28, 28, 1)
image = image / 255.0 # Нормализация
# Предсказание
prediction = model.predict(image) # Получение вероятностей классов
predicted_class = np.argmax(prediction) # Класс с наибольшей вероятностью
return f"Предсказанное число: {predicted_class}"
# Интерфейс Gradio
interface = gr.Interface(
fn=predict_digit,
inputs=gr.Image(type="pil"), # Используем только `type="pil"` для передачи изображения
outputs="text", # Вывод в виде текста
title="Распознавание цифр"
)
# Запуск приложения
if __name__ == "__main__":
interface.launch()
|