Spaces:
Sleeping
Sleeping
| 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() | |