import asyncio asyncio.set_event_loop(asyncio.new_event_loop()) import streamlit as st import tensorflow as tf import numpy as np from PIL import Image img_width, img_height = 32, 32 # Загружаем модель model = tf.keras.models.load_model('model_fmr_all.h5') classes = {0: 'самолет', 1: 'автомобиль', 2: 'птица', 3: 'кот', 4: 'олень', 5: 'собака', 6: 'лягушка', 7: 'лошадь', 8: 'корабль', 9: 'грузовик'} # Определяем функцию для предсказания цифры на изображении def predict_image(image): # Преобразование изображения в массив numpy img = np.array(image, dtype='float64') / 255 # Преобразование изображения в формат, который ожидает модель img = np.expand_dims(image, axis=0) # Предсказание цифры prediction = model.predict(img) imagetype = classes[np.argmax(prediction)] return imagetype # Определяем заголовок веб-приложения st.title('Распознавание картинки') # Загрузка изображения и предсказание цифры uploaded_file = st.file_uploader("Загрузите изображение для распознования", type=["jpg", "jpeg", "png"]) if uploaded_file is not None: image = Image.open(uploaded_file).resize((img_height, img_width)) st.image(image, caption='Загруженное изображение', use_column_width=True) st.write('') st.write('На картинке предположительно:', predict_image(image))