Caffe: Convolutional Architecture for Fast Feature Embedding
Written for the Research library (claude-opus-5-5) from the paper text, in our own words: the license "arXiv — non-exclusive licence to distribute" does not allow redistributing the text itself. Original — arxiv.org/pdf/1408.5093
Summary
Deep convolutional networks had become the leading approach to visual recognition, but reproducing published results could take months. Existing toolkits rarely combined fast execution with ready-made state-of-the-art models. The UC Berkeley team (BVLC) presents Caffe, an open-source deep learning framework written in C++. It uses CUDA for GPU acceleration and offers Python/Numpy and MATLAB bindings. Networks are declared in Protocol Buffer configuration files as arbitrary directed acyclic graphs of layers, which keeps the model definition independent of the executing code. A single call moves the same network between CPU and GPU. Layers exchange data through 4-dimensional "blobs" that handle host–device synchronization and allocate memory lazily. Every module has unit tests. Training relies on SGD with momentum, learning-rate schedules, snapshots and fine-tuning. Caffe ships reference models with recipes to reproduce them and handles over 40 million images per day on one GPU. Its speed, modularity and focus on reproducibility make it a practical shared base for research and industrial deployment.
Key points
- Throughput is about 2.5 ms per image (over 40M images/day) on a single NVIDIA K40 or Titan GPU. LevelDB plus Protocol Buffers storage reaches 150 MB/s on commodity machines.
- Built-in layers include convolution, pooling, inner product, ReLU/logistic, local response normalization, element-wise operations, and softmax and hinge losses. The MNIST example is LeNet (
lenet_train.prototxt). - The code is BSD-licensed on GitHub (BVLC/caffe). The reference models, such as the "AlexNet" ImageNet model and the R-CNN detector, are restricted to academic and non-commercial use.
- Table 1 compares Caffe with cuda-convnet, Decaf, OverFeat, Theano/Pylearn2 and Torch7. Its distinguishing features are a pure C++ core with a CPU mode and off-the-shelf pretrained models.
- Reported applications include:
- R-CNN with Selective Search, top detection results on PASCAL VOC 2007–2012 and the ImageNet 2013 Detection challenge;
- fine-tuning to all 10,000 ImageNet categories for open-vocabulary retrieval;
- style recognition on the Flickr Style dataset.
Cited by
- TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems
- Vision-and-Language Navigation: Interpreting visually-grounded navigation instructions in real environments
- MXNet: A Flexible and Efficient Machine Learning Library for Heterogeneous Distributed Systems
- Long-term Recurrent Convolutional Networks for Visual Recognition and Description
- MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
- Merging Models with Fisher-Weighted Averaging
- PyTorch: An Imperative Style, High-Performance Deep Learning Library
- U-Net: Convolutional Networks for Biomedical Image Segmentation
- Detecting Sarcasm in Multimodal Social Platforms
- Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization
Cite
@misc{jia2014caffe,
title = {{Caffe: Convolutional Architecture for Fast Feature Embedding}},
author = {Jia, Yangqing and Shelhamer, Evan and Donahue, Jeff and Karayev, Sergey and Long, Jonathan and Girshick, Ross and Guadarrama, Sergio and Darrell, Trevor},
year = {2014},
doi = {10.48550/arxiv.1408.5093},
eprint = {1408.5093},
archivePrefix = {arXiv},
url = {https://doi.org/10.48550/arxiv.1408.5093}
}References
- R. Collobert, K. Kavukcuoglu, and C. Farabet. Torch7: A MATLAB-like environment for machine learning. In BigLearn, NIPS Workshop, 2011. find
- J. Donahue, Y. Jia, O. Vinyals, J. Hoffman, N. Zhang, E. Tzeng, and T. Darrell. Decaf: A deep convolutional activation feature for generic visual recognition. In ICML, 2014. find
- R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 2014. find our card
- I. Goodfellow, D. Warde-Farley, P. Lamblin, V. Dumoulin, M. Mirza, R. Pascanu, J. Bergstra, F. Bastien, and Y. Bengio. Pylearn2: a machine learning research library. arXiv preprint 1308.4214, 2013. — [arXiv:1308.4214](https://arxiv.org/abs/1308.4214) find
- S. Guadarrama, E. Rodner, K. Saenko, N. Zhang, R. Farrell, J. Donahue, and T. Darrell. Open-vocabulary object retrieval. In RSS, 2014. find
- S. Karayev, M. Trentacoste, H. Han, A. Agarwala, T. Darrell, A. Hertzmann, and H. Winnemoeller. Recognizing image style. arXiv preprint 1311.3715, 2013. — [arXiv:1311.3715](https://arxiv.org/abs/1311.3715) find
- A. Krizhevsky. cuda-convnet. https://code.google.com/p/cuda-convnet/, 2012. ↗
- A. Krizhevsky, I. Sutskever, and G. Hinton. ImageNet classification with deep convolutional neural networks. In NIPS, 2012. find
- P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. LeCun. Overfeat: Integrated recognition, localization and detection using convolutional networks. In ICLR, 2014. find
- J. Uijlings, K. van de Sande, T. Gevers, and A. Smeulders. Selective search for object recognition. IJCV, 2013. find
- N. Zhang, M. Paluri, M. Ranzato, T. Darrell, and L. Bourdev. Panda: Pose aligned networks for deep attribute modeling. In CVPR, 2014. https://github.com/BVLC/caffe/http://caffe.berkeleyvision.org/ ↗