DzmitryXXL/TestModel
0
1import asyncio2asyncio.set_event_loop(asyncio.new_event_loop())3 4import streamlit as st5import tensorflow as tf6import numpy as np7from PIL import Image8 9img_width, img_height = 32, 3210 11# Загружаем модель12model = tf.keras.models.load_model('model_fmr_all.h5')13classes = {0: 'самолет',14 1: 'автомобиль',15 2: 'птица',16 3: 'кот',17 4: 'олень',18 5: 'собака',19 6: 'лягушка',20 7: 'лошадь',21 8: 'корабль',22 9: 'грузовик'}23 24# Определяем функцию для предсказания цифры на изображении25def predict_image(image):26 # Преобразование изображения в массив numpy27 img = np.array(image, dtype='float64') / 25528 # Преобразование изображения в формат, который ожидает модель29 img = np.expand_dims(image, axis=0)30 # Предсказание цифры31 prediction = model.predict(img)32 imagetype = classes[np.argmax(prediction)]33 return imagetype34 35# Определяем заголовок веб-приложения36st.title('Распознавание картинки')37 38# Загрузка изображения и предсказание цифры39uploaded_file = st.file_uploader("Загрузите изображение для распознования", type=["jpg", "jpeg", "png"])40if uploaded_file is not None:41 image = Image.open(uploaded_file).resize((img_height, img_width))42 st.image(image, caption='Загруженное изображение', use_column_width=True)43 st.write('')44 st.write('На картинке предположительно:', predict_image(image))