Skip to content

Caffe

Caffe is "a deep learning framework made with expression, speed, and modularity in mind. It is developed by Berkeley AI Research (BAIR) and by community contributors."[1]

Installed Version♯

Caffe 1.0 is installed on Proteus. It relies on Intel Math Kernel Library (MKL) for linear algebra operations. It does not use CUDA or OpenCV. To use, load the modulefile:

caffe/intel/1.0

Known Issues♯

  • Will only run on Intel nodes
  • Uses a private version of Python 2.7.13 - will conflict with other installed Python modules

Compiling Caffe♯

See: Compiling Caffe

GPU-enabled Caffe♯

Besides the original Caffe, there are two forks available: NVCaffe, and Caffe2.

  • The original version of Caffe is able to use only a single GPU device at a time.
  • NVIDIA's fork of Caffe, called NVCaffe,[2] is able to use multiple GPU devices simultaneously, using the NVIDIA Collective Communications Library (NCCL) for efficient multi-GPU and multi-node communication.[3]
  • Caffe2[4] (developed by Facebook), is another fork of Caffe, and it provides multi-GPU capability using NCCL. It has recently been merged with PyTorch.[5] PyTorch provides tensors and dynamic neural networks with strong GPU acceleration.

Available Versions♯

Different versions/forks of Caffe are available via conda environments.[6] For a summary of conda environments, see Anaconda

  • Caffe -- use the conda environment caffe
  • Caffe2 + PyTorch -- use the conda environment caffe2

The Open Neural Network Exchange (ONNX)[7] is an open format to represent deep learning models, allowing different frameworks to interoperate.

See Also♯

References♯

[1] Caffe official website

[2] NVIDIA/caffe at GitHub

[3] NVIDIA Collective Communications Library (NCCL)

[4] Caffe2 website

[5] PyTorch website

[6] Conda User Guide: Managing Environments

[7] Open Neural Network Exchange (ONNX) website