import numpy as np
from keras.layers import Dense,Activation
from keras.models import Sequential
from keras.utils import np_utils
from keras.datasets import mnist
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 #重组熟练数据为60000*784,/255为了将灰度值控制在0-1
x_test=x_test.reshape(x_test.shape[0],-1)/255 #重组测试数据为10000*784,/255为了将灰度值控制在0-1
y_train=np_utils.to_categorical(y_train,num_classes=10) #one-hot编码
y_test=np_utils.to_categorical(y_test,num_classes=10)
print('train samples',x_train.shape[0])
print('test samples',x_test.shape[0])
model=Sequential([Dense(32,input_dim=784),
Activation('relu'),
Dense(16),
Activation('relu'),
Dense(10),
Activation('softmax')])
model.compile(loss='categorical_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])
model.summary()#打印出模型概况
print('+++++training++++++')
model.fit(x_train,y_train,nb_epoch=10)
print('+++++testing++++++')
loss,accurary=model.evaluate(x_test,y_test)
print("test loss:",loss)
print("test accurary:",accurary)