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♯
[3] NVIDIA Collective Communications Library (NCCL)
[4] Caffe2 website
[5] PyTorch website