Skip to content

Latest commit

 

History

History
39 lines (27 loc) · 1.81 KB

README.md

File metadata and controls

39 lines (27 loc) · 1.81 KB

Learning how to build a Convolutional Neural Network

What is in this repository?

cnn-design folder contains the implementation for Convolutional Neural Networks (CNNs) from scratch using NumPy.
The project presents how to create a CNN with three layers: convolution (conv), ReLU and max pooling. The steps are the following:

  1. Reading the input image
  2. Preparing the filters
  3. Conv layer: convolving each filter with the input image
  4. ReLU layer: applying ReLU activation function on the feature maps (output of conv layer)
  5. Max Pooling layer: applying the pooling operation on the output of ReLU layer
  6. Stacking conv, ReLU and max pooling layers

Code available in the book: "Practical Computer Vision Applications Using Deep Learning with CNNs" and at this GitHub address .

cnn-classifier folder contains the implementation (with Tensorflow) of a neural network machine learning model that classifies images, trains the network and evaluates the accuracy of the model. The steps are the following:

  1. Load the dataset (MNIST/)
  2. Build the model
  3. Define the optimizer and the loss function
  4. Train and evaluate the model

Code available also in the Tensorflow documentation.

A cheatsheet to CNNs can be found on Stanford's website.

Setting up the environment

In the current directory, execute the following commands in order to set up the conda environment:

conda env create --file environment.yaml

conda activate cnn-tf

conda install -c conda-forge tensorflow