I installed python 3.6
along with cuda 10.0
and cudnn
using:
tensorflow - pip install tensorflow-gpu
but it only takes 2-3% of my gpu (as shown in task manager).
I am getting 5 mins per epoch in my 2060Super; when I run it on the terminal it selects the gpu but the time is taken per epoch is too much and, also, it is not utilizing the whole gpu.
#Building CNN
from keras.models import Sequential
from keras.layers import Conv2D
from keras.layers import MaxPooling2D
from keras.layers import Flatten
from keras.layers import Dense
#initialize the CNN
classifier = Sequential()
#step 1 - Convolution
classifier.add(Conv2D(32,3,3,input_shape = (64,64,3), activation='relu'))
#step 2 Pooling
classifier.add(MaxPooling2D(pool_size=(2,2)))
# Adding a second convolutional layer
classifier.add(Conv2D(32, (3, 3), activation = 'relu'))
classifier.add(MaxPooling2D(pool_size = (2, 2)))
#step3 Flattening
classifier.add(Flatten())
#Full Connection
classifier.add(Dense(units = 128,activation='relu'))
classifier.add(Dense(units = 1,activation='sigmoid'))
#compile CNN
classifier.compile(optimizer='adam',loss='binary_crossentropy',metrics=['accuracy'])
#Fitting CNN to images
from keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(rescale = 1./255,
shear_range = 0.2,
zoom_range = 0.2,
horizontal_flip = True)
test_datagen = ImageDataGenerator(rescale = 1./255)
training_set = train_datagen.flow_from_directory('dataset/training_set',
target_size = (64, 64),
batch_size = 32,
class_mode = 'binary')
test_set = test_datagen.flow_from_directory('dataset/test_set',
target_size = (64, 64),
batch_size = 32,
class_mode = 'binary')
classifier.fit_generator(training_set,
steps_per_epoch = 8000,
epochs = 25,
validation_data = test_set,
validation_steps = 2000)