Learn practical skills, build real-world projects, and advance your career

Convolution Neural Network in Keras

This kernel is created form scratch and will show how to build CNN.

Content

  • Data Preprocessing
  • Data Spliting
  • Building CNN classifier
  • Training Classiifer
  • Visualization
  • Future Work

Importing Required Module

import cv2                                         # working with, mainly resizing, images
import numpy as np                                 # dealing with arrays
import os                                          # dealing with directories
from random import shuffle                         # mixing up or currently ordered data that might lead our network astray in training.
from keras.models import Sequential                # creating sequential model of CNN
from keras.layers import Convolution2D             # creating convolution layer
from keras.layers import MaxPooling2D              # creating maxpool layer
from keras.layers import Flatten                   # creating input vector for dense layer
from keras.layers import Dense                     # create dense layer or fully connected layer
from keras.layers import Dropout                   # use to avoid overfitting by droping some parameters
from keras.preprocessing import image              # generate image
import matplotlib.pyplot as plt                    # use for visualization
import warnings#
warnings.filterwarnings('ignore')
import os
print(os.listdir("../input"))
Using TensorFlow backend.
['cat-and-dog']

Defining training and testing directory.
Defining Image Size.