Caffe: Convolutional Architecture for Fast Feature Extraction
Created by Yangqing Jia, Department of EECS, University of California, Berkeley. Maintained by the Berkeley Vision and Learning Center (BVLC).
Caffe aims to provide computer vision scientists with a clean, modifiable implementation of state-of-the-art deep learning algorithms. Network structure is easily specified in separate config files, with no mess of hard-coded parameters in the code. Python and Matlab wrappers are provided.
At the same time, Caffe fits industry needs, with blazing fast C++/Cuda code for GPU computation. Caffe is currently the fastest GPU CNN implementation publicly available, and is able to process more than 20 million images per day on a single Tesla K20 machine *.
Caffe also provides seamless switching between CPU and GPU, which allows one
to train models with fast GPUs and then deploy them on non-GPU clusters with one
line of code: Caffe::set_mode(Caffe::CPU)
.
Even in CPU mode, computing predictions on an image takes only 20 ms when images are processed in batch mode.
- Installation instructions
- Caffe presentation at the Berkeley Vision Group meeting
* When measured with the SuperVision model that won the ImageNet Large Scale Visual Recognition Challenge 2012.
Caffe is BSD 2-Clause licensed (refer to the LICENSE for details).
The pretrained models published by the BVLC, such as the Caffe reference ImageNet model are licensed for academic research / non-commercial use only. However, Caffe is a full toolkit for model training, so start brewing your own Caffe model today!
Please kindly 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/}
}
Caffe is developed with the community by the Berkeley Vision and Learning Center. We welcome contributions!
To join in, please note this policy:
- Do your work in feature branches.
- Bring your work up-to-date by
rebasing onto the latest
dev
. Polish your changes by interactive rebase if you like too. - Pull request your
contribution to BVLC/caffe's
dev
branch for discussion and review. dev
is for new development, community contributions, and testing.master
is handled by BVLC, which will integrate changes fromdev
.
Expect a more detailed contributing guide soon. Thank you.