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