How to upload Keras code in Deep Learning Studio

Rajat
Rajat
Draft · 3 min read

Note: Code must be compatible with Keras 1.2.2.

Keras Code for DLS:

1) DLS supports Keras code with both Tensorflow and Theano backend.

For Theono backend Dimension order of the image should be like this
input_shape = (1, img_rows, img_cols)

For Tensorflow backend Dimension order of the image should be like this
input_shape = ( img_rows, img_cols, 1)

2) You should import all the required Keras layers and models

3) Your model should be Compile in order to use it. For eg:
model.compile(loss=’categorical_crossentropy’, optimizer=’adadelta’,
metrics=[‘accuracy’])

4) If you want you can also include Hyperparameters directly from the code.

5) To include Keras dataset your model must call model’s fit function. For eg:
model.fit(X_train, Y_train,verbose=1, validation_data=(X_test, Y_test))

Sample Keras Code:

from __future__ import print_function
import numpy as np

from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation, Flatten
from keras.layers import Convolution2D, MaxPooling2D
from keras.utils import np_utils
from keras import backend as K

batch_size = 128
nb_classes = 10
nb_epoch = 12

# input image dimensions
img_rows, img_cols = 28, 28

# number of convolutional filters to use
nb_filters = 32

# size of pooling area for max pooling
pool_size = (2, 2)

# convolution kernel size
kernel_size = (3, 3)

# the data, shuffled and split between train and test sets
(X_train, y_train), (X_test, y_test) = mnist.load_data()

if K.image_dim_ordering() == 'th':
X_train = X_train.reshape(X_train.shape[0], 1, img_rows, img_cols)
X_test = X_test.reshape(X_test.shape[0], 1, img_rows, img_cols)
input_shape = (1, img_rows, img_cols)
else:
X_train = X_train.reshape(X_train.shape[0], img_rows, img_cols, 1)
X_test = X_test.reshape(X_test.shape[0], img_rows, img_cols, 1)
input_shape = (img_rows, img_cols, 1)

X_train = X_train.astype('float32')
X_test = X_test.astype('float32')
X_train /= 255
X_test /= 255
print('X_train shape:', X_train.shape)
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(Convolution2D(nb_filters, kernel_size[0], kernel_size[1],
border_mode='valid',
input_shape=input_shape))
model.add(Activation('relu'))
model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1]))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=pool_size))
model.add(Dropout(0.25))

model.add(Flatten())
model.add(Dense(128))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(nb_classes))
model.add(Activation('softmax'))

model.compile(loss='categorical_crossentropy',
optimizer='adadelta',
metrics=['accuracy'])

model.fit(X_train, Y_train, batch_size=batch_size, nb_epoch=nb_epoch,
verbose=1, validation_data=(X_test, Y_test))

score = model.evaluate(X_test, Y_test, verbose=0)
print('Test score:', score[0])
print('Test accuracy:', score[1])

Steps for uploading code:

Run DLS and go to Projects Tab
In MY PROJECTS click on the Upload icon to upload keras code.

Select the keras code python file.
Select the backend of the code i.e. Dimension Ordering as Tensorflow or Theano
If you want to include Dataset in your project then Select the Dataset checkbox.

Finally click on the upload button to create DLS model.
If you receive “Upload completed” message then it means your model is successfully created in DLS.

You can check your model in the My Projects section.

Open the project and now select the dataset if you haven’t select the Dataset checkbox.
Final output: