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