52 lines
3.1 KiB
Markdown
52 lines
3.1 KiB
Markdown
|
---
|
||
|
title: Caffe Tutorial
|
||
|
---
|
||
|
# Caffe Tutorial
|
||
|
|
||
|
Caffe is a deep learning framework and this tutorial explains its philosophy, architecture, and usage.
|
||
|
This is a practical guide and framework introduction, so the full frontier, context, and history of deep learning cannot be covered here.
|
||
|
While explanations will be given where possible, a background in machine learning and neural networks is helpful.
|
||
|
|
||
|
## Philosophy
|
||
|
|
||
|
In one sip, Caffe is brewed for
|
||
|
|
||
|
- Expression: models and optimizations are defined as plaintext schemas instead of code.
|
||
|
- Speed: for research and industry alike speed is crucial for state-of-the-art models and massive data.
|
||
|
- Modularity: new tasks and settings require flexibility and extension.
|
||
|
- Openness: scientific and applied progress call for common code, reference models, and reproducibility.
|
||
|
- Community: academic research, startup prototypes, and industrial applications all share strength by joint discussion and development in a BSD-2 project.
|
||
|
|
||
|
and these principles direct the project.
|
||
|
|
||
|
## Tour
|
||
|
|
||
|
- [Nets, Layers, and Blobs](net_layer_blob.html): the anatomy of a Caffe model.
|
||
|
- [Forward / Backward](forward_backward.html): the essential computations of layered compositional models.
|
||
|
- [Loss](loss.html): the task to be learned is defined by the loss.
|
||
|
- [Solver](solver.html): the solver coordinates model optimization.
|
||
|
- [Layer Catalogue](layers.html): the layer is the fundamental unit of modeling and computation -- Caffe's catalogue includes layers for state-of-the-art models.
|
||
|
- [Interfaces](interfaces.html): command line, Python, and MATLAB Caffe.
|
||
|
- [Data](data.html): how to caffeinate data for model input.
|
||
|
|
||
|
For a closer look at a few details:
|
||
|
|
||
|
- [Caffeinated Convolution](convolution.html): how Caffe computes convolutions.
|
||
|
|
||
|
## Deeper Learning
|
||
|
|
||
|
There are helpful references freely online for deep learning that complement our hands-on tutorial.
|
||
|
These cover introductory and advanced material, background and history, and the latest advances.
|
||
|
|
||
|
The [Tutorial on Deep Learning for Vision](https://sites.google.com/site/deeplearningcvpr2014/) from CVPR '14 is a good companion tutorial for researchers.
|
||
|
Once you have the framework and practice foundations from the Caffe tutorial, explore the fundamental ideas and advanced research directions in the CVPR '14 tutorial.
|
||
|
|
||
|
A broad introduction is given in the free online draft of [Neural Networks and Deep Learning](http://neuralnetworksanddeeplearning.com/index.html) by Michael Nielsen. In particular the chapters on using neural nets and how backpropagation works are helpful if you are new to the subject.
|
||
|
|
||
|
These recent academic tutorials cover deep learning for researchers in machine learning and vision:
|
||
|
|
||
|
- [Deep Learning Tutorial](http://www.cs.nyu.edu/~yann/talks/lecun-ranzato-icml2013.pdf) by Yann LeCun (NYU, Facebook) and Marc'Aurelio Ranzato (Facebook). ICML 2013 tutorial.
|
||
|
- [LISA Deep Learning Tutorial](http://deeplearning.net/tutorial/deeplearning.pdf) by the LISA Lab directed by Yoshua Bengio (U. Montréal).
|
||
|
|
||
|
For an exposition of neural networks in circuits and code, check out [Understanding Neural Networks from a Programmer's Perspective](http://karpathy.github.io/neuralnets/) by Andrej Karpathy (Stanford).
|