目录
简介
keras下使用mlp识别数字。
代码
# coding: utf8
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
import numpy as np
np.random.seed(1337)
from keras.datasets import mnist
from keras.utils import np_utils
from keras.models import Sequential
from keras.layers import Dense, Activation
from keras.optimizers import RMSprop
(X_train, Y_train), (X_test, Y_test) = mnist.load_data()
X_train = X_train.reshape(X_train.shape[0], -1) / 255.
Y_train = np_utils.to_categorical(Y_train, 10)
X_test = X_test.reshape(X_test.shape[0], -1) / 255.
Y_test = np_utils.to_categorical(Y_test, 10)
model = Sequential()
model.add(Dense(256, input_dim=784))
model.add(Activation('relu')) # sigmoid 0.9766 relu 0.9896
model.add(Dense(10))
model.add(Activation('softmax'))
model.compile(optimizer=RMSprop(lr=0.01), loss='categorical_crossentropy', metrics=['accuracy'])
model.fit(X_train, Y_train, epochs=10, batch_size=128)
loss, accuracy = model.evaluate(X_test, Y_test, batch_size=32)
print(loss, accuracy)
效果
训练集:loss: 0.0651 - acc: 0.9886
测试集:loss: 0.22048894146081094 acc: 0.9731