ignore the structure of input data and all the data is converted into - array before feeding it into the network this process suits the regular datahowever if the data contains imagesthe process may be cumbersome cnn solves this problem easily it takes the structure of the images into account when they process themwhich allows them to extract the properties specific to images in this waythe main goal of cnns is to go from the raw image data in the input layer to the correct class in the output layer the only difference between an ordinary nns and cnns is in the treatment of input data and in the type of layers architecture overview of cnns architecturallythe ordinary neural networks receive an input and transform it through series of hidden layer every layer is connected to the other layer with the help of neurons the main disadvantage of ordinary neural networks is that they do not scale well to full images the architecture of cnns have neurons arranged in dimensions called widthheight and depth each neuron in the current layer is connected to small patch of the output from the previous layer it is similar to overlaying filter on the input image it uses filters to be sure about getting all the details these filters are feature extractors which extract features like edgescornersetc layers used to construct cnns following layers are used to construct cnnsinput layerit takes the raw image data as it is convolutional layerthis layer is the core building block of cnns that does most of the computations this layer computes the convolutions between the neurons and the various patches in the input rectified linear unit layerit applies an activation function to the output of the previous layer it adds non-linearity to the network so that it can generalize well to any type of function pooling layerpooling helps us to keep only the important parts as we progress in the network pooling layer operates independently on every depth slice of the input and resizes it spatially it uses the max function fully connected layer/output layerthis layer computes the output scores in the last layer the resulting output is of the size where is the number training dataset classes installing useful python packages you can use keraswhich is an high level neural networks apiwritten in python and capable of running on top of tensorflowcntk or theno it is compatible with python you can learn more about it from use the following commands to install keras