marii8st commited on
Commit
466813c
·
verified ·
1 Parent(s): 7f0a050

Upload app.py

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