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 Python#Conda Environments

  • 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

Example Job Scripst

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