Not a member of Pastebin yet?
                        Sign Up,
                        it unlocks many cool features!                    
                - import numpy
 - from keras.models import Sequential
 - from keras.layers import Dense, Dropout, Flatten, BatchNormalization, Activation
 - from keras.constraints import maxnorm
 - from keras.layers.convolutional import Conv2D, MaxPooling2D
 - from keras.utils import np_utils
 - from keras.datasets import cifar10
 - from tensorflow.python.keras.callbacks import TensorBoard
 - from time import time
 - # fix random seed for reproducibility
 - seed = 21
 - numpy.random.seed(seed)
 - # load data
 - (X_train, y_train), (X_test, y_test) = cifar10.load_data()
 - # normalize inputs from 0-255 to 0.0-1.0
 - X_train = X_train.astype('float32')
 - X_test = X_test.astype('float32')
 - X_train = X_train / 255.0
 - X_test = X_test / 255.0
 - # one hot encode outputs
 - y_train = np_utils.to_categorical(y_train)
 - y_test = np_utils.to_categorical(y_test)
 - num_classes = y_test.shape[1]
 - #Create the model
 - model = Sequential()
 - model.add(Conv2D(32, (3, 3), input_shape=X_train.shape[1:], padding='same'))
 - model.add(Activation('relu'))
 - model.add(Dropout(0.2))
 - model.add(BatchNormalization())
 - model.add(Conv2D(64, (3, 3), padding='same'))
 - model.add(Activation('relu'))
 - model.add(MaxPooling2D(pool_size=(2, 2)))
 - model.add(Dropout(0.2))
 - model.add(BatchNormalization())
 - model.add(Conv2D(64, (3, 3), padding='same'))
 - model.add(Activation('relu'))
 - model.add(MaxPooling2D(pool_size=(2, 2)))
 - model.add(Dropout(0.2))
 - model.add(BatchNormalization())
 - model.add(Conv2D(128, (3, 3), padding='same'))
 - model.add(Activation('relu'))
 - model.add(Dropout(0.2))
 - model.add(BatchNormalization())
 - model.add(Flatten())
 - model.add(Dropout(0.2))
 - model.add(Dense(256, kernel_constraint=maxnorm(3)))
 - model.add(Activation('relu'))
 - model.add(Dropout(0.2))
 - model.add(BatchNormalization())
 - model.add(Dense(128, kernel_constraint=maxnorm(3)))
 - model.add(Activation('relu'))
 - model.add(Dropout(0.2))
 - model.add(BatchNormalization())
 - model.add(Dense(num_classes))
 - model.add(Activation('softmax'))
 - epochs = 1
 - optimizer = 'Adam'
 - tensorboard = TensorBoard(log_dir="logs/{}".format(time()))
 - model.compile(loss='categorical_crossentropy', optimizer=optimizer, metrics=['accuracy'])
 - print(model.summary())
 - model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=epochs, batch_size=64, callbacks = [tensorboard])
 - # Final evaluation of the model
 - scores = model.evaluate(X_test, y_test, verbose=0)
 - print("Accuracy: %.2f%%" % (scores[1]*100))
 
Advertisement
 
                    Add Comment                
                
                        Please, Sign In to add comment