Prior to installing, have a glance through this guide and take note of the details for your platform.
We install and run Caffe on Ubuntu 16.04–12.04, OS X 10.11–10.8, and through Docker and AWS.
The official Makefile and
Makefile.config build are complemented by a community CMake build.
When updating Caffe, it’s best to
make clean before re-compiling.
Caffe has several dependencies:
leveldb(note: leveldb requires
Pycaffe and Matcaffe interfaces have their own natural needs.
numpy (>= 1.7), boost-provided
cuDNN Caffe: for fastest operation Caffe is accelerated by drop-in integration of NVIDIA cuDNN. To speed up your Caffe models, install cuDNN then uncomment the
USE_CUDNN := 1 flag in
Makefile.config when installing Caffe. Acceleration is automatic. The current version is cuDNN v5; older versions are supported in older Caffe.
CPU-only Caffe: for cold-brewed CPU-only Caffe uncomment the
CPU_ONLY := 1 flag in
Makefile.config to configure and build Caffe without CUDA. This is helpful for cloud or cluster deployment.
Caffe requires the CUDA
nvcc compiler to compile its GPU code and CUDA driver for GPU operation.
To install CUDA, go to the NVIDIA CUDA website and follow installation instructions there. Install the library and the latest standalone driver separately; the driver bundled with the library is usually out-of-date. Warning! The 331.* CUDA driver series has a critical performance issue: do not use it.
For best performance, Caffe can be accelerated by NVIDIA cuDNN. Register for free at the cuDNN site, install it, then continue with these installation instructions. To compile with cuDNN set the
USE_CUDNN := 1 flag set in your
Caffe requires BLAS as the backend of its matrix and vector computations. There are several implementations of this library. The choice is yours:
BLAS := openin
The main requirements are
boost.python (provided by boost).
pandas is useful too and needed for some examples.
You can install the dependencies with
for req in $(cat requirements.txt); do pip install $req; done
but we suggest first installing the Anaconda Python distribution, which provides most of the necessary packages, as well as the
hdf5 library dependency.
To import the
caffe Python module after completing the installation, add the module directory to your
export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH or the like. You should not import the module in the
Caffe’s Python interface works with Python 2.7. Python 3.3+ should work out of the box without protobuf support. For protobuf support please install protobuf 3.0 alpha (https://developers.google.com/protocol-buffers/). Earlier Pythons are your own adventure.
Install MATLAB, and make sure that its
mex is in your
Caffe’s MATLAB interface works with versions 2015a, 2014a/b, 2013a/b, and 2012b.
Caffe can be compiled with either Make or CMake. Make is officially supported while CMake is supported by the community.
Configure the build by copying and modifying the example
Makefile.config for your setup. The defaults should work, but uncomment the relevant lines if using Anaconda Python.
cp Makefile.config.example Makefile.config # Adjust Makefile.config (for example, if using Anaconda Python, or if cuDNN is desired) make all make test make runtest
USE_CUDNN := 1switch in
Makefile.config. cuDNN is sometimes but not always faster than Caffe’s GPU acceleration.
CPU_ONLY := 1in
To compile the Python and MATLAB wrappers do
make pycaffe and
make matcaffe respectively.
Be sure to set your MATLAB and Python paths in
make distribute to create a
distribute directory with all the Caffe headers, compiled libraries, binaries, etc. needed for distribution to other machines.
Speed: for a faster build, compile in parallel by doing
make all -j8 where 8 is the number of parallel threads for compilation (a good choice for the number of threads is the number of cores in your machine).
In lieu of manually editing
Makefile.config to configure the build, Caffe offers an unofficial CMake build thanks to @Nerei, @akosiorek, and other members of the community. It requires CMake version >= 2.8.7.
The basic steps are as follows:
mkdir build cd build cmake .. make all make install make runtest
See PR #1667 for options and details.
Laboratory Tested Hardware: Berkeley Vision runs Caffe with Titan Xs, K80s, GTX 980s, K40s, K20s, Titans, and GTX 770s including models at ImageNet/ILSVRC scale. We have not encountered any trouble in-house with devices with CUDA capability >= 3.0. All reported hardware issues thus-far have been due to GPU configuration, overheating, and the like.
CUDA compute capability: devices with compute capability <= 2.0 may have to reduce CUDA thread numbers and batch sizes due to hardware constraints. Brew with caution; we recommend compute capability >= 3.0.
Once installed, check your times against our reference performance numbers to make sure everything is configured properly.
Ask hardware questions on the caffe-users group.