layout |
---|
default |
Caffe is a deep learning framework developed with cleanliness, readability, and speed in mind. It was created by Yangqing Jia, and is in active development by the Berkeley Vision and Learning Center (BVLC) and by community contributors. Caffe is released under the BSD 2-Clause license.
Clean architecture enables rapid deployment. Networks are specified in simple config files, with no hard-coded parameters in the code. Switching between CPU and GPU code is as simple as setting a flag -- so models can be trained on a GPU machine, and then used on commodity clusters.
Readable & modifiable implementation fosters active development. In Caffe's first six months, it has been forked by over 300 developers on Github, and many have contributed significant changes.
Speed makes Caffe perfect for industry use. Caffe can process over 40M images per day with a single NVIDIA K40 or Titan GPU*. That's 5 ms/image in training, and 2 ms/image in test. We believe that Caffe is the fastest CNN implementation available.
Community: Caffe already powers academic research projects, startup prototypes, and even large-scale industrial applications in vision, speech, and multimedia. There is an active discussion and support community on Github.
\* When files are properly cached, and using the ILSVRC2012-winning [SuperVision](http://www.image-net.org/challenges/LSVRC/2012/supervision.pdf) model. Consult performance [details](/performance_hardware.html).
- Introductory slides: slides about the Caffe architecture, updated 03/14.
- ACM MM paper: a 4-page report for the ACM Multimedia Open Source competition.
- Installation instructions: tested on Ubuntu, Red Hat, OS X.
- Pre-trained models: BVLC provides ready-to-use models for non-commercial use.
- Development: Guidelines for development and contributing to Caffe.
- Image Classification [notebook]: classify images with the pretrained ImageNet model by the Python interface.
- Detection [notebook]: run a pretrained model as a detector in Python.
- Visualizing Features and Filters [notebook]: extracting features and visualizing trained filters with an example image, viewed layer-by-layer.
- LeNet / MNIST Demo: end-to-end training and testing of LeNet on MNIST.
- CIFAR-10 Demo: training and testing on the CIFAR-10 data.
- Training ImageNet: recipe for end-to-end training of an ImageNet classifier.
- Feature extraction with C++: feature extraction using pre-trained model.
Please cite Caffe in your publications if it helps your research:
@misc{Jia13caffe,
Author = {Yangqing Jia},
Title = { {Caffe}: An Open Source Convolutional Architecture for Fast Feature Embedding},
Year = {2013},
Howpublished = {\url{http://caffe.berkeleyvision.org/}
}
If you do publish a paper where Caffe helped your research, we encourage you to update the publications wiki. Citations are also tracked automatically by Google Scholar.
Yangqing would like to thank the NVIDIA Academic program for providing GPUs, Oriol Vinyals for discussions along the journey, and BVLC PI Trevor Darrell for guidance.
A core set of BVLC members have contributed much new functionality and many fixes since the original release (alphabetical by first name): Eric Tzeng, Evan Shelhamer, Jeff Donahue, Jon Long, Ross Girshick, Sergey Karayev, Sergio Guadarrama.
Additionally, the open-source community plays a large and growing role in Caffe's development. Check out the Github project pulse for recent activity, and the contributors for a sorted list.
We sincerely appreciate your interest and contributions! If you'd like to contribute, please read the development guide.