1 [Caffe: Convolutional Architecture for Fast Feature Extraction](http://caffe.berkeleyvision.org)
3 Created by [Yangqing Jia](http://daggerfs.com), UC Berkeley EECS department.
4 In active development by the Berkeley Vision and Learning Center ([BVLC](http://bvlc.eecs.berkeley.edu/)).
8 Caffe aims to provide computer vision scientists with a **clean, modifiable
9 implementation** of state-of-the-art deep learning algorithms. Network structure
10 is easily specified in separate config files, with no mess of hard-coded
11 parameters in the code. Python and Matlab wrappers are provided.
13 At the same time, Caffe fits industry needs, with blazing fast C++/Cuda code for
14 GPU computation. Caffe is currently the fastest GPU CNN implementation publicly
15 available, and is able to process more than **20 million images per day** on a
16 single Tesla K20 machine \*.
18 Caffe also provides **seamless switching between CPU and GPU**, which allows one
19 to train models with fast GPUs and then deploy them on non-GPU clusters with one
20 line of code: `Caffe::set_mode(Caffe::CPU)`.
22 Even in CPU mode, computing predictions on an image takes only 20 ms when images
23 are processed in batch mode.
25 * [Installation instructions](http://caffe.berkeleyvision.org/installation.html)
26 * [Caffe presentation](https://docs.google.com/presentation/d/1lzyXMRQFlOYE2Jy0lCNaqltpcCIKuRzKJxQ7vCuPRc8/edit?usp=sharing) at the Berkeley Vision Group meeting
28 \* When measured with the [SuperVision](http://www.image-net.org/challenges/LSVRC/2012/supervision.pdf) model that won the ImageNet Large Scale Visual Recognition Challenge 2012.
32 Caffe is BSD 2-Clause licensed (refer to the
33 [LICENSE](http://caffe.berkeleyvision.org/license.html) for details).
35 The pretrained models published by the BVLC, such as the
36 [Caffe reference ImageNet model](https://www.dropbox.com/s/n3jups0gr7uj0dv/caffe_reference_imagenet_model)
37 are licensed for academic research / non-commercial use only. However, Caffe is
38 a full toolkit for model training, so start brewing your own Caffe model today!
42 Please kindly cite Caffe in your publications if it helps your research:
45 Author = {Yangqing Jia},
46 Title = { {Caffe}: An Open Source Convolutional Architecture for Fast Feature Embedding},
48 Howpublished = {\url{http://caffe.berkeleyvision.org/}
53 Tutorials and general documentation are written in Markdown format in the `docs/` folder.
54 While the format is quite easy to read directly, you may prefer to view the whole thing as a website.
55 To do so, simply run `jekyll serve -s docs` and view the documentation website at `http://0.0.0.0:4000` (to get [jekyll](http://jekyllrb.com/), you must have ruby and do `gem install jekyll`).
57 We strive to provide provide lots of usage examples, and to document all code in docstrings.
58 We'd appreciate your contribution to this effort!
62 Caffe is developed with active participation of the community by the [Berkeley Vision and Learning Center](http://bvlc.eecs.berkeley.edu/).
63 We welcome all contributions!
67 - The `dev` branch is for new development, community contributions, and testing.
68 - The `master` branch is handled by BVLC, which will integrate changes from `dev` on a roughly monthly schedule.
69 - Do new development in [feature branches](https://www.atlassian.com/git/workflows#!workflow-feature-branch) with decriptive names.
70 - Bring your work up-to-date by [rebasing](http://git-scm.com/book/en/Git-Branching-Rebasing) onto the latest `dev`. (Polish your changes by [interactive rebase](https://help.github.com/articles/interactive-rebase), if you'd like.)
71 - [Pull request](https://help.github.com/articles/using-pull-requests) your contribution to BVLC/caffe's `dev` branch for discussion and review.
72 * PRs should live fast, die young, and leave a beautiful merge. Pull
73 request sooner than later so that discussion can guide development.
74 * Code must be accompanied by documentation and tests at all times.
75 * Only fast-forward merges will be accepted.
77 See our [development guidelines](http://caffe.berkeleyvision.org/development.html) for further details–the more closely these are followed, the sooner your work will be merged.
79 #### [Shelhamer's](https://github.com/shelhamer) “life of a branch in four acts”
81 Make the `feature` branch off of the latest `bvlc/dev`
85 git checkout -b feature
86 # do your work, make commits
89 Prepare to merge by rebasing your branch on the latest `bvlc/dev`
91 # make sure dev is fresh
94 # rebase your branch on the tip of dev
99 Push your branch to pull request it into `dev`
101 git push origin feature
102 # ...make pull request to dev...
105 Now make a pull request! You can do this from the command line (`git pull-request -b dev`) if you install [hub](https://github.com/github/hub).
107 The pull request of `feature` into `dev` will be a clean merge. Applause.