Convolutional Neural Network (CNN) is a special type of feed-forward neural network dealing with images. One fundamental advantage of CNNs is the use of shared weight in convolutional layers, which means that the same filter (weights bank) is used for each pixel in the layer; this both reduces memory footprint and improves performance.
In this post, I will show how to test, understand and train this type of network.
I. CLASSIFYING images using pre-trained models
Caffe has already been packed with a number of examples, including one classification ipython notebook using CNN. This is a great example to start with. From terminal, navigate to the caffe installed path (usually in ~/caffe), run ipython notebook by typing:
This command calls ipython server to run and open up the web browser for working with ipython files. In the web browser just opened up, navigate to /caffe/examples/ and open file 00-classification.ipynb. Note that a ipython file is divided into multiple blocks so that you can run through each to debug the code. Use Shift+Enter to run through current block and move to the next block when the current finishes. Other shortcut keys can be found here.