mnist 卷积神经网络

泄露秘密 提交于 2019-11-26 23:57:21
# from keras.models import Sequential# from keras.layers.core import Dense,Activation,Flatten#creating the Sequential model# model=Sequential()# #layer 1 --adding a flatten layer# model.add(Flatten(input_shape=(32,32,3)))# #layer 2 --adding a fully connected layer# model.add(Dense(100))# #layer 3 --add a Relu activation layer# model.add(Activation("relu"))# #layer 4 --adding a fully connected layer# model.add(Dense(60))# #layer 5 --adding a Relu activation layer# model.add(Activation("relu"))import numpy as npimport matplotlib.pyplot as pltfrom keras.datasets import mnistfrom keras.models import Sequentialfrom keras.layers.core import Dense,Dropout,Activationfrom keras.utils import np_utils#retrieving the training and test data(x_train,y_train),(x_test,y_test)=mnist.load_data()print("x_train_shape",x_train.shape)print("y_train_shape",y_train.shape)print("x_test_shape",x_test.shape)print("y_test_shape",y_test.shape)#visualize the dataimport matplotlib.pyplot as plt#display a training image by its index in the MNIST setdef disply_digit(index):    label=y_train[index].argmax(axis=0)    image=x_train[label]    plt.title("training data,index:%d,label:%d" %(index,label))    plt.imshow(image,cmap="gray_r")    plt.show()#display the first (index 0)training imagedisply_digit(0)x_train=x_train.reshape(60000,784)x_test=x_test.reshape(10000,784)x_train=x_train.astype("float32")x_test=x_test.astype("float32")x_train/=255x_test/=255print("train the marix shape",x_train.shape)print("test the matrix shape",x_test.shape)#one hot encoding of labelsfrom keras.utils.np_utils import to_categoricalprint(y_train.shape)y_train=to_categorical(y_train,10)y_test=to_categorical(y_test,10)#def the neural networkdef build_model():    model=Sequential()    model.add(Dense(512,input_shape=(784,)))    model.add(Activation("relu"))    model.add(Dropout(0.2))    model.add(Dense(512))    model.add(Activation("relu"))    model.add(Dropout(0.2))    model.add(Dense(10))    model.add(Activation("softmax"))    return model#build the modelmodel=build_model()model.compile(optimizer="rmsprop",loss="categorica_crossentropy",metrics=["accuracy"])#traningmodel.fit(x_train,y_train,batch_size=128,nb_epoch=4,verbose=1,validation_data=(x_test,y_test))#comparing the labels predicted by our model with the actual labelsscore=model.evaluate(x_test,y_test,batch_size=2,verbose=1,sample_weight=None)print("test score",score[0])print("test accuarcy",score[1])
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!