Caffe on both Linux and Windows
Clone or download
#146 Compare This branch is 107 commits ahead, 417 commits behind BVLC:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
cmake Add c++11 flag to cuda cmake build Sep 2, 2016
data Merge pull request #4455 from ShaggO/spaceSupportILSVRC12MNIST Jul 14, 2016
docker Update Dockerfile to cuDNN v5 May 16, 2016
docs Update supported cuDNN version in the documentation May 16, 2016
examples Merge branch 'master' of ssh:// into bvlc Jul 14, 2016
include/caffe Fix test issues Aug 1, 2016
matlab Fix code format issues Jul 31, 2016
models [examples] switch examples + models to Input layers Feb 26, 2016
python Merge pull request #1 from Austriker/fast-rcnn Jul 15, 2016
scripts Merge branch 'master' of ssh:// into bvlc Jul 14, 2016
src Fix test issues Aug 1, 2016
tools Merge branch 'master' of ssh:// into bvlc Jul 14, 2016
windows Update windows build status url in README Sep 26, 2016
.Doxyfile update doxygen config to stop warnings Sep 3, 2014
.gitattributes Add support for windows build Feb 11, 2016
.gitignore Sync with BVLC master Jul 14, 2016
.travis.yml Cache protobuf3 build in TravisCI Jun 1, 2016
CMakeLists.txt Add c++11 flag to cuda cmake build Sep 2, 2016 [docs] add which will appear on GitHub new Issue/PR p… Jul 30, 2015 clarify the license and copyright terms of the project Aug 7, 2014 installation questions -> caffe-users Oct 19, 2015
LICENSE copyright 2015 Jun 23, 2015
Makefile Fix Matlab build in Makefile (adding GPU support)wq Jul 26, 2016
Makefile.config.example [build] note that `make clean` clears build and distribute dirs May 4, 2016 Update Dec 6, 2016
appveyor.yml Fix windows build in appveyor by disabling parallel build Sep 26, 2016
caffe.cloc [fix] stop cloc complaint about cu type Sep 4, 2014

This branch of Caffe extends BVLC-led Caffe by adding Windows support and other functionalities commonly used by Microsoft's researchers, such as managed-code wrapper, Faster-RCNN, R-FCN, etc.

Update: this branch is not actively maintained. Please checkout this for more active Windows support.


Linux (CPU) Windows (CPU)
Travis Build Status AppVeyor Build Status


Caffe is a deep learning framework made with expression, speed, and modularity in mind. It is developed by the Berkeley Vision and Learning Center (BVLC) and community contributors.

Check out the project site for all the details like

and step-by-step examples.

Windows Setup

Requirements: Visual Studio 2013

Pre-Build Steps

Copy .\windows\CommonSettings.props.example to .\windows\CommonSettings.props

By defaults Windows build requires CUDA and cuDNN libraries. Both can be disabled by adjusting build variables in .\windows\CommonSettings.props. Python support is disabled by default, but can be enabled via .\windows\CommonSettings.props as well. 3rd party dependencies required by Caffe are automatically resolved via NuGet.


Download CUDA Toolkit 7.5 from nVidia website. If you don't have CUDA installed, you can experiment with CPU_ONLY build. In .\windows\CommonSettings.props set CpuOnlyBuild to true and set UseCuDNN to false.


Download cuDNN v4 or cuDNN v5 from nVidia website. Unpack downloaded zip to %CUDA_PATH% (environment variable set by CUDA installer). Alternatively, you can unpack zip to any location and set CuDnnPath to point to this location in .\windows\CommonSettings.props. CuDnnPath defined in .\windows\CommonSettings.props. Also, you can disable cuDNN by setting UseCuDNN to false in the property file.


To build Caffe Python wrapper set PythonSupport to true in .\windows\CommonSettings.props. Download Miniconda 2.7 64-bit Windows installer [from Miniconda website] ( Install for all users and add Python to PATH (through installer).

Run the following commands from elevated command prompt:

conda install --yes numpy scipy matplotlib scikit-image pip
pip install protobuf


After you have built solution with Python support, in order to use it you have to either:

  • set PythonPath environment variable to point to <caffe_root>\Build\x64\Release\pycaffe, or
  • copy folder <caffe_root>\Build\x64\Release\pycaffe\caffe under <python_root>\lib\site-packages.


To build Caffe Matlab wrapper set MatlabSupport to true and MatlabDir to the root of your Matlab installation in .\windows\CommonSettings.props.


After you have built solution with Matlab support, in order to use it you have to:

  • add the generated matcaffe folder to Matlab search path, and
  • add <caffe_root>\Build\x64\Release to your system path.


Now, you should be able to build .\windows\Caffe.sln

License and Citation

Caffe is released under the BSD 2-Clause license. The BVLC reference models are released for unrestricted use.

Please cite Caffe in your publications if it helps your research:

  Author = {Jia, Yangqing and Shelhamer, Evan and Donahue, Jeff and Karayev, Sergey and Long, Jonathan and Girshick, Ross and Guadarrama, Sergio and Darrell, Trevor},
  Journal = {arXiv preprint arXiv:1408.5093},
  Title = {Caffe: Convolutional Architecture for Fast Feature Embedding},
  Year = {2014}