Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from keras.datasets import mnist
- (x_train, y_train), (x_test, y_test) = mnist.load_data()
- x_train = x_train.astype('float32')
- x_test = x_test.astype('float32')
- x_train /= 255
- x_test /= 255
- x_train = x_train.reshape(x_train.shape[0], 28, 28, 1)
- x_test = x_test.reshape(x_test.shape[0], 28, 28, 1)
- from keras.utils import to_categorical
- y_train = to_categorical(y_train, 10)
- y_test = to_categorical(y_test, 10)
- from keras.models import Sequential
- from keras.layers import Conv2D, MaxPool2D, Dense, Flatten, Dropout
- model = Sequential()
- model.add(Conv2D(filters=32, kernel_size=(5,5), activation='relu', input_shape=x_train.shape[1:]))
- model.add(Conv2D(filters=32, kernel_size=(5,5), activation='relu'))
- model.add(MaxPool2D(pool_size=(2, 2)))
- model.add(Dropout(rate=0.25))
- model.add(Conv2D(filters=64, kernel_size=(3, 3), activation='relu'))
- model.add(Conv2D(filters=64, kernel_size=(3, 3), activation='relu'))
- model.add(MaxPool2D(pool_size=(2, 2)))
- model.add(Dropout(rate=0.25))
- model.add(Flatten())
- model.add(Dense(256, activation='relu'))
- model.add(Dropout(rate=0.5))
- model.add(Dense(10, activation='softmax'))
- model.compile(
- loss='categorical_crossentropy',
- optimizer='adam',
- metrics=['accuracy']
- )
- from keras.preprocessing.image import ImageDataGenerator
- datagen = ImageDataGenerator(
- rotation_range=10,
- zoom_range=0.1,
- width_shift_range=0.1,
- height_shift_range=0.1
- )
- import tensorflow as tf
- #gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.5)
- #sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))
- # add to the top of your code under import tensorflow as tf
- config = tf.ConfigProto()
- config.gpu_options.allow_growth = True
- session = tf.Session(config=config)
- epochs = 10
- batch_size = 256
- import datetime
- now= datetime.datetime.now()
- history = model.fit_generator(datagen.flow(x_train, y_train, batch_size=batch_size), epochs=epochs,
- validation_data=(x_test, y_test), steps_per_epoch=x_train.shape[0]//batch_size)
- print("GPU", datetime.datetime.now() -now)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement