import numpy as np
from keras.models import Sequential
from keras.layers.core import Dense,Dropout,Activation
from keras.optimizers import SGD,Adam
from keras.utils import np_utils
from keras.datasets import mnist
import numpy as np
from keras.models import Sequential
from keras.layers.core import Dense,Dropout,Activation
from keras.optimizers import SGD,Adam
from keras.utils import np_utils
from keras.datasets import mnist
defload_data():(x_train,y_train),(x_test,y_test)=mnist.load_data()
number=10000
x_train=x_train[0:number]
y_train=y_train[0:number]
x_train=x_train.reshape(number,28*28)
x_test=x_test.reshape(x_test.shape[0],28*28)
x_train=x_train.astype('float32')
x_test=x_test.astype('float32')
y_train=np_utils.to_categorical(y_train,10)
y_test=np_utils.to_categorical(y_test,10)
x_train=x_train
x_test=x_test
x_train=x_train/255
x_test=x_test/255return(x_train,y_train),(x_test,y_test)if __name__ =='__main__':##load training data and testing data(x_train, y_train),(x_test, y_test)= load_data()## 1、define a set of function--neural network
model = Sequential()
model.add(Dense(input_dim=28*28, units=689, activation='relu'))
model.add(Dropout(0.7))
model.add(Dense(units=689, activation='relu'))
model.add(Dropout(0.7))
model.add(Dense(units=689, activation='relu'))
model.add(Dropout(0.7))
model.add(Dense(units=10, activation='softmax'))
model.compile(loss='categorical_crossentropy',
optimizer='Adam',
metrics=['accuracy'])##train data
model.fit(x_train, y_train, batch_size=100, epochs=20)# evaluate the model and out put the accuracy
result = model.evaluate(x_train, y_train, batch_size=10000)print('Train ACC:', result[1])
result = model.evaluate(x_test, y_test, batch_size=10000)print('Test ACC:', result[1])