(X_train, y_train), (X_test, y_test) = mnist.load_data()
X_train = X_train.reshape(60000, 28,28)
X_test = X_test.reshape(10000, 28,28)
X_train = X_train.astype("float32")
X_test = X_test.astype("float32")
X_train /= 255
X_test /= 255
print(X_train.shape[0], 'train samples')
print(X_test.shape[0], 'test samples')
# convert class vectors to binary class matrices
Y_train = np_utils.to_categorical(y_train, nb_classes)
Y_test = np_utils.to_categorical(y_test, nb_classes)
model = Sequential()
model.add(GaussianNoise(0.1))
model.add(JZS1(28, 28,return_sequences=True))
model.add(JZS1(28, 14,return_sequences=True))
model.add(Reshape(392,))
model.add(Dense(392, 100))
model.add(Activation('relu'))
model.add(Dropout(0.25))
model.add(Dense(100, 10))
model.add(Activation('softmax'))
rmsprop = RMSprop()
model.compile(loss='categorical_crossentropy', optimizer=rmsprop)
model.fit(X_train, Y_train, batch_size=batch_size, nb_epoch=nb_epochs,
show_accuracy=True, verbose=1, validation_data=(X_test, Y_test))
X_train = X_train.reshape(60000, 28,28)
X_test = X_test.reshape(10000, 28,28)
X_train = X_train.astype("float32")
X_test = X_test.astype("float32")
X_train /= 255
X_test /= 255
print(X_train.shape[0], 'train samples')
print(X_test.shape[0], 'test samples')
# convert class vectors to binary class matrices
Y_train = np_utils.to_categorical(y_train, nb_classes)
Y_test = np_utils.to_categorical(y_test, nb_classes)
model = Sequential()
model.add(GaussianNoise(0.1))
model.add(JZS1(28, 28,return_sequences=True))
model.add(JZS1(28, 14,return_sequences=True))
model.add(Reshape(392,))
model.add(Dense(392, 100))
model.add(Activation('relu'))
model.add(Dropout(0.25))
model.add(Dense(100, 10))
model.add(Activation('softmax'))
rmsprop = RMSprop()
model.compile(loss='categorical_crossentropy', optimizer=rmsprop)
model.fit(X_train, Y_train, batch_size=batch_size, nb_epoch=nb_epochs,
show_accuracy=True, verbose=1, validation_data=(X_test, Y_test))