Я обучил модель нейронной сети на MNIST
наборе данных с использованием сценария mnist_3.1_convolutional_bigger_dropout.py , предоставленного в этом учебном пособии .
, который я хотел проверитьОбученная модель в пользовательском наборе данных, поэтому я написал небольшой скрипт predict.py
, который загружает обученную модель и передает в нее данные.Но это не работает.
Я считаю, что только изменение размера изображения до 28x28
недостаточно, необходимо выполнить некоторую другую предварительную обработку, чтобы сделать его совместимым со стандартом MNIST
.
Вот сценарий, который я написал для тестирования
Forex.py
from scipy.misc import imread
import tensorflow as tf
import numpy as np
import cv2 as cv
import glob
files = glob.glob('data2/*.*')
dig_cont = [cv.imread(fl, 0) for fl in files]
img_data = []
for i in range(len(dig_cont)):
img = cv.resize(dig_cont[i], (28, 28))
img = img.reshape(img.shape[0], img.shape[1], 1)
img_data.append(img)
print("Restoring Model ...")
sess = tf.Session()
tf_saver = tf.train.import_meta_graph('model/model.meta')
tf_saver.restore(sess, tf.train.latest_checkpoint('model'))
print("Model restored")
x = tf.get_default_graph().get_tensor_by_name('X:0')
print('x :', x.shape)
y = tf.get_default_graph().get_tensor_by_name('Y:0')
print('y :', y.shape)
dict_data = {x: img_data}
result = sess.run(y, feed_dict=dict_data)
print(result)
sess.close()
Подробный отчет об ошибках можно найти здесь