Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Alescontrela authored Jun 16, 2018
1 parent a071aab commit b9f3fb9
Showing 1 changed file with 29 additions and 1 deletion.
30 changes: 29 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,31 @@
# Numpy-CNN
***
A numpy-only implementation of a Convolutional Neural Network, from the ground up.

*Written by Alejandro Escontrela*

## Purpose

To gain a quality understanding of convolutional neural networks and what makes them peform so well, I constructed one from scratch with NumPy. This CNN is in no way intended to replace popular DL frameworks such as Tensorflow or Torch, it is instead meant to serve as an instructional tool by anyone who wishes to understand the underlying mechinery of a CNN.

## Training the network

To train the network on your machine, first install all necessary dependencies using:

`pip install -r requirements.txt`

Afterwards, you can train the network using the following command:

`python3 train_cnn.py '<file_name>.pkl'`

Replace <file_name> with whatever file name you would like. The terminal should display the following progress bar to indicate the training progress, as well as the cost for the current training batch.

After the CNN has finished training, a .pkl file containing the network's parameters is saved to the directory where the script was run.

The network takes about 5 hours to train on my macbook pro. I included the trained params in the GitHub repo under the name params.pkl . To use them, replace <file_name> with params.pkl.

## Measuring Performance
To measure the network's accuracy, run the following command in the terminal:

`python3 measure_performance.py '<file_name>.pkl'`

This command will use the trained parameters to run predictions on all 10,000 digits in the test dataset. After all predictions are made, a value displaying the network's accuracy will appear in the command prompt

0 comments on commit b9f3fb9

Please sign in to comment.