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:
- Reading the input image
- Preparing the filters
- Conv layer: convolving each filter with the input image
- ReLU layer: applying ReLU activation function on the feature maps (output of conv layer)
- Max Pooling layer: applying the pooling operation on the output of ReLU layer
- 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:
- Load the dataset (MNIST/)
- Build the model
- Define the optimizer and the loss function
- Train and evaluate the model
Code available also in the Tensorflow documentation.
A cheatsheet to CNNs can be found on Stanford's website.
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