| ## Building Caffe2 | |
| This guide builds from source. For alternatives, refer to https://caffe2.ai/docs/getting-started.html | |
| Get latest source from GitHub. | |
| git clone --recursive https://github.com/caffe2/caffe2.git | |
| cd caffe2 | |
| Note that you might need to uninstall existing Eigen and pybind11 packages due to compile-time dependencies when building from source. For this reason, Caffe2 uses git submodules to reference external packages in the third_party folder. These are downloaded with the --recursive option. | |
| #### MacOS X | |
| brew install openblas glog gtest automake protobuf leveled lmdb | |
| mkdir build && cd build | |
| cmake .. -DBLAS=OpenBLAS -DUSE_OPENCV=off | |
| make | |
| #### Ubuntu | |
| ###### Ubuntu 14.04 LTS | |
| sudo apt-get install libprotobuf-dev protobuf-compiler libatlas-base-dev libgoogle-glog-dev libgtest-dev liblmdb-dev libleveldb-dev libsnappy-dev python-dev python-pip libiomp-dev libopencv-dev libpthread-stubs0-dev cmake | |
| sudo pip install numpy | |
| wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_8.0.44-1_amd64.deb | |
| sudo dpkg -i cuda-repo-ubuntu1404_8.0.44-1_amd64.deb | |
| sudo apt-get update | |
| sudo apt-get install cuda | |
| sudo apt-get install git | |
| CUDNN_URL="http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/cudnn-8.0-linux-x64-v5.1.tgz" && | |
| curl -fsSL ${CUDNN_URL} -O && | |
| sudo tar -xzf cudnn-8.0-linux-x64-v5.1.tgz -C /usr/local && | |
| rm cudnn-8.0-linux-x64-v5.1.tgz && | |
| sudo ldconfig | |
| mkdir build && cd build | |
| cmake .. | |
| make | |
| ###### Ubuntu 16.04 LTS | |
| sudo apt-get install libprotobuf-dev protobuf-compiler libatlas-base-dev libgoogle-glog-dev libgtest-dev liblmdb-dev libleveldb-dev libsnappy-dev python-dev python-pip libiomp-dev libopencv-dev libpthread-stubs0-dev cmake | |
| sudo pip install numpy | |
| wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb | |
| sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb | |
| sudo apt-get update | |
| sudo apt-get install cuda | |
| sudo apt-get install git | |
| CUDNN_URL="http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/cudnn-8.0-linux-x64-v5.1.tgz" && | |
| curl -fsSL ${CUDNN_URL} -O && | |
| sudo tar -xzf cudnn-8.0-linux-x64-v5.1.tgz -C /usr/local && | |
| rm cudnn-8.0-linux-x64-v5.1.tgz && | |
| sudo ldconfig | |
| mkdir build && cd build | |
| cmake .. | |
| make | |
| ## Python support | |
| To use Caffe2 in Python, you need two libraries, future and six. | |
| pip install future six | |
| To run the tutorials, download additional source from GitHub. | |
| git clone --recursive https://github.com/caffe2/tutorials.git caffe2_tutorials | |
| cd caffe2_tutorials | |
| You'll also need jupyter (formerly ipython) notebooks and matplotlib, which can be installed on MacOS X with | |
| brew install matplotlib --with-python3 | |
| pip install jupyter |