Как сделать прогноз из обученной модели mnist с использованием керас? - PullRequest
0 голосов
/ 22 мая 2018

У меня есть учебник по использованию mnist с keras. Я обучил модель и получил довольно хорошую точность. Теперь, как я могу сделать из нее новый прогноз, дав новый вклад.Вот код

import numpy as np
from keras.layers import MaxPool2D,Conv2D,Dense,Flatten,Dropout
from keras.models import Sequential
from keras.utils import np_utils
from keras.layers import activations
from keras.datasets import mnist

np.random.seed(1)

(x_train,y_train),(x_test,y_test)=mnist.load_data()

x_train = x_train.reshape(x_train.shape[0],  28,28,1).astype('float32')
x_test = x_test.reshape(x_test.shape[0],  28, 28,1).astype('float32')

x_train=x_train.astype('float32')
x_tset=x_test.astype('float32')

x_train=x_train/255
x_test=x_test/255

y_train=np_utils.to_categorical(y_train,10)
y_test=np_utils.to_categorical(y_test,10)

model=Sequential()
model.add(Conv2D(32,(3,3),activation='relu',input_shape=(28,28,1)))
model.add(MaxPool2D(pool_size= (2,2)))
model.add(Dropout(0.25))

model.add(Conv2D(32,(3,3), activation='relu',input_shape=(28,28,1)))
model.add(MaxPool2D(pool_size=(2,2)))
model.add(Dropout(0.25))

model.add(Flatten())

model.add(Dense(units=128,activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(units=10,activation='softmax'))

model.compile(optimizer='adam',loss='binary_crossentropy',metrics= ['accuracy'])

model.fit(x_train, y_train, validation_data=(x_test, y_test), epochs=10, batch_size=200, verbose=2)

model.evaluate(x_test,y_test,verbose=0)

model.save('hand_written.h5')

Заранее спасибо !!

1 Ответ

0 голосов
/ 22 мая 2018

Эта строка кода в руководстве посвящена новому образцу для оценки вашей модели: model.evaluate(x_test,y_test,verbose=0) Что вам нужно сделать, это дать evaluate(x_test,y_test,verbose=0) новый ввод в этой форме.Если вы хотите увидеть, как работает прогноз, напишите:
prediction = model.evaluate(x_test,y_test,verbose=0) print('prediction:',prediction)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...