Caffe on both Linux and Windows
Перейти к файлу
Jeff Donahue 488a4bd4a7 exclude proto generated files from lint 2014-02-26 15:42:38 -08:00
data everything in its right place 2014-02-26 12:37:46 -08:00
docs bring imagenet docs back to reality 2014-02-26 12:37:47 -08:00
examples unified to padding aware version 2014-02-26 15:41:58 -08:00
include/caffe HDF5DataLayer, with test. 2014-02-26 15:42:37 -08:00
matlab/caffe fix matcaffe and pycaffe linter errors 2014-02-26 15:42:38 -08:00
models remove padding layers in imagenet definitions 2014-02-26 15:41:58 -08:00
python fix matcaffe and pycaffe linter errors 2014-02-26 15:42:38 -08:00
scripts add hpp to valid cpplint extensions 2014-02-26 15:42:38 -08:00
src minor comment edit 2014-02-26 15:42:37 -08:00
tools Make tools/ for core binaries, stow scripts/ in tools/extra 2014-02-26 12:37:44 -08:00
.gitignore explain ignore, and ignore data, models, and examples 2014-02-26 12:37:45 -08:00
INSTALL.md replace bundled install instructions with link to site 2014-02-10 15:31:59 -08:00
LICENSE Update LICENSE 2014-02-12 22:18:28 -08:00
Makefile exclude proto generated files from lint 2014-02-26 15:42:38 -08:00
Makefile.config.example More comments in Makefile.config.example 2014-02-25 22:59:26 -08:00
README.md minor README fix 2014-02-25 22:59:34 -08:00
caffe.cloc linecount improvement 2013-11-12 14:31:09 -08:00

README.md

Caffe: Convolutional Architecture for Fast Feature Extraction

Created by Yangqing Jia, UC Berkeley EECS department. In active development by the Berkeley Vision and Learning Center (BVLC).

Introduction

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.

* When measured with the SuperVision model that won the ImageNet Large Scale Visual Recognition Challenge 2012.

License

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!

Citing Caffe

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/}
}

Building documentation

Tutorials and general documentation is written in Markdown format in the docs/ folder. While the format is quite easy to read directly, you may prefer to view the whole thing as a website. To do so, simply run jekyll serve -s docs and view the documentation website at http://0.0.0.0:4000 (to get jekyll, you must have ruby and do gem install jekyll).

We strive to provide provide lots of usage examples, and to document all code in docstrings. We'd appreciate your contribution to this effort!

Contributing

Caffe is developed with active participation of the community by the Berkeley Vision and Learning Center. We welcome all contributions!

Our workflow is this:

  • The dev branch is for new development, community contributions, and testing.
  • The master branch is handled by BVLC, which will integrate changes from dev on a roughly monthly schedule.
  • Do new development in feature branches with decriptive names.
  • Bring your work up-to-date by rebasing onto the latest dev. (Polish your changes by interactive rebase, if you'd like.)
  • Pull request your contribution to BVLC/caffe's dev branch for discussion and review.

Shelhamer's "life of a branch in four acts":

Make the feature branch off of the latest bvlc/dev

git checkout dev
git pull upstream dev
git checkout -b feature
# do your work, make commits

Prepare to merge by rebasing your branch on the latest bvlc/dev

# make sure dev is fresh
git checkout dev
git pull upstream dev
# rebase your branch on the tip of dev
git checkout feature
git rebase --preserve-merges dev

Push your branch to pull request it into dev

git push origin feature
# ...make pull request...

Now make a pull request! You can do this from the command line (git pull-request) if you install hub.

The pull request of feature into dev will be a clean merge, applause.