Есть нейросеть. Она натренирована на датасете FASHION_MNIST. Распознование тестовых датасетов работает великолепно, нейросеть почти всегда угадывает. Но вот я решил скачать изображение футболок и ботинок с интернета и подать на вход нейросети.
Ботинки она приняла за сумку, первую футболку она приняла за штаны, вторую футболку приняла за сумку. Мне кажется, что как-то неправильно я конвертирую изображение в массив данных.
from __future__ import absolute_import, division, print_function, unicode_literals
import tensorflow as tf
from tensorflow import keras
from keras.preprocessing.image import ImageDataGenerator
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',
'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config)
model = tf.keras.models.load_model('deeplearn.h5')
train_images = Image.open('1.jpg')
arr = np.asarray(train_images, dtype='uint8')
arr = arr.reshape(28, 28)
predictions = model.predict(arr.reshape(1, 28, 28))
answer = np.argmax(predictions[0])
print(class_names[answer])