i am new to deep learning. I was trying to run deep learning code of python on CPU that works fine but same code doesn't work on tensorflow with gpu. Is there any syntax difference of deep learning for using GPU. If syntax is different for it then any material to get start with would be helpful thanks. below is the simple code that runs on CPU for binary classification, if I want to run it on GPU what necessary changes should I make?
# Importing the Keras libraries and packages
from keras.models import Sequential
from keras.layers import Convolution2D
from keras.layers import MaxPooling2D
from keras.layers import Flatten
from keras.layers import Dense
# Initialising the CNN
classifier = Sequential()
# Step 1 - Convolution
classifier.add(Convolution2D(32, (3, 3), input_shape = (64, 64, 3),dilation_rate=(1,1), activation = 'relu', ))
classifier.add(Convolution2D(32, (3, 3),dilation_rate=(2,2), activation = 'relu', ))
classifier.add(Convolution2D(32, (3, 3),dilation_rate=(4,4), activation = 'relu', ))
#classifier.add(MaxPooling2D(pool_size = (2, 2)))
classifier.add(Convolution2D(64, (3, 3),dilation_rate=(1,1), activation = 'relu', ))
classifier.add(Convolution2D(64, (3, 3),dilation_rate=(2,2), activation = 'relu', ))
classifier.add(Convolution2D(64, (3, 3),dilation_rate=(4,4), activation = 'relu', ))
classifier.add(Convolution2D(128, (3, 3),dilation_rate=(1,1), activation = 'relu', ))
classifier.add(Convolution2D(128, (3, 3),dilation_rate=(2,2), activation = 'relu', ))
classifier.add(Convolution2D(128, (3, 3),dilation_rate=(4,4), activation = 'relu', ))
classifier.add(Convolution2D(256, (3, 3),dilation_rate=(1,1), activation = 'relu', ))
classifier.add(Convolution2D(256, (3, 3),dilation_rate=(2,2), activation = 'relu', ))
classifier.add(Convolution2D(256, (3, 3),dilation_rate=(4,4), activation = 'relu', ))
'''
classifier.add(Convolution2D(256, (3, 3),dilation_rate=(1,1), activation = 'relu', ))
#classifier.add(Convolution2D(512, (3, 3),dilation_rate=(2,2), activation = 'relu', ))
#classifier.add(Convolution2D(512, (3, 3),dilation_rate=(4,4), activation = 'relu', ))
classifier.add(Convolution2D(512, (3, 3),dilation_rate=(1,1), activation = 'relu', ))
#classifier.add(Convolution2D(1024, (3, 3),dilation_rate=(2,2), activation = 'relu', ))
#classifier.add(Convolution2D(1024, (3, 3),dilation_rate=(4,4), activation = 'relu', ))
'''
# Step 3 - Flattening
classifier.add(Flatten())
# Step 4 - Full connection
classifier.add(Dense(units = 256, activation = 'relu'))
classifier.add(Dense(units = 1, activation = 'sigmoid'))
# Compiling the CNN
classifier.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])
# Part 2 - Fitting the CNN to the images
from keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(rescale = 1./255,
featurewise_center=True,
featurewise_std_normalization=True,
rotation_range=20,
width_shift_range=0.05,
height_shift_range=0.05,
shear_range = 0.05,
zoom_range = 0.05,
horizontal_flip = True)
test_datagen = ImageDataGenerator(rescale = 1./255)
training_set = train_datagen.flow_from_directory('Data_base/Processing_Data/Training',
target_size = (64, 64),
batch_size = 20,
class_mode = 'binary')
test_set = test_datagen.flow_from_directory('Data_base/Processing_Data/Test',
target_size = (64, 64),
batch_size = 6,
class_mode = 'binary')
classifier.fit_generator(training_set,
samples_per_epoch =44 ,
nb_epoch = 20,
validation_data = test_set,
nb_val_samples =6 )
classifier.save_weights('first_try.h5')