Install

Welcome to Caffe2! Get started with deep learning today by following the step by step guide on how to download and install Caffe2.

Select your preferred platform and install type.

This build is confirmed for:

  • Ubuntu 14.04
  • Ubuntu 16.04

Required Dependencies#

1
2
3
4
5
6
7
8
9
10
11
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
build-essential \
cmake \
git \
libgoogle-glog-dev \
libprotobuf-dev \
protobuf-compiler \
python-dev \
python-pip
sudo pip install numpy protobuf

Optional GPU Support#

If you plan to use GPU instead of CPU only, then you should install NVIDIA CUDA 8 and cuDNN v5.1 or v6.0, a GPU-accelerated library of primitives for deep neural networks. NVIDIA’s detailed instructions or if you’re feeling lucky try the quick install set of commands below.

Update your graphics card drivers first! Otherwise you may suffer from a wide range of difficult to diagnose errors.

For Ubuntu 14.04

1
2
3
4
5
sudo apt-get update && sudo apt-get install wget -y --no-install-recommends
wget "http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_8.0.61-1_amd64.deb"
sudo dpkg -i cuda-repo-ubuntu1404_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda

For Ubuntu 16.04

1
2
3
4
5
sudo apt-get update && sudo apt-get install wget -y --no-install-recommends
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

Install cuDNN (all Ubuntu versions)#

Version 5.1

1
2
3
4
CUDNN_URL="http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/cudnn-8.0-linux-x64-v5.1.tgz"
wget ${CUDNN_URL}
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

Version 6.0 Visit NVIDIA’s cuDNN download to register and download the archive. Follow the same instructions above switching out for the updated library.

Optional Dependencies#

Note libgflags2 is for Ubuntu 14.04. libgflags-dev is for Ubuntu 16.04.

1
2
# for Ubuntu 14.04
sudo apt-get install -y --no-install-recommends libgflags2
1
2
# for Ubuntu 16.04
sudo apt-get install -y --no-install-recommends libgflags-dev
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# for both Ubuntu 14.04 and 16.04
sudo apt-get install -y --no-install-recommends \
libgtest-dev \
libiomp-dev \
libleveldb-dev \
liblmdb-dev \
libopencv-dev \
libopenmpi-dev \
libsnappy-dev \
openmpi-bin \
openmpi-doc \
python-pydot
sudo pip install \
flask \
future \
graphviz \
hypothesis \
jupyter \
matplotlib \
pydot python-nvd3 \
pyyaml \
requests \
scikit-image \
scipy \
setuptools \
six \
tornado

Clone & Build#

1
2
3
git clone --recursive https://github.com/caffe2/caffe2.git && cd caffe2
make && cd build && sudo make install
python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"

Run this command below to test if your GPU build was a success. You will get a test output either way, but it will warn you at the top of the output if CPU was used instead along with other errors like missing libraries.

1
python -m caffe2.python.operator_test.relu_op_test

Environment Variables#

These environment variables may assist you depending on your current configuration. When using the install instructions above on the AWS Deep Learning AMI you don’t need to set these variables. However, our Docker scripts built on Ubuntu-14.04 or NVIDIA’s CUDA images seem to benefit from having these set. If you ran into problems with the build tests above then these are good things to check. Echo them first and see what you have and possibly append or replace with these directories. Also visit the Troubleshooting section.

1
2
3
4
5
echo $PYTHONPATH
# export PYTHONPATH=/usr/local:$PYTHONPATH
# export PYTHONPATH=$PYTHONPATH:/home/ubuntu/caffe2/build
echo $LD_LIBRARY_PATH
# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

Setting Up Tutorials & Jupyter Server#

If you’re running this all on a cloud computer, you probably won’t have a UI or way to view the IPython notebooks by default. Typically, you would launch them locally with ipython notebook and you would see a localhost:8888 webpage pop up with the directory of notebooks running. The following example will show you how to launch the Jupyter server and connect to remotely via an SSH tunnel.

First configure your cloud server to accept port 8889, or whatever you want, but change the port in the following commands. On AWS you accomplish this by adding a rule to your server’s security group allowing a TCP inbound on port 8889. Otherwise you would adjust iptables for this.

Next you launch the Juypter server.

1
jupyter notebook --no-browser --port=8889

Then create the SSH tunnel. This will pass the cloud server’s Jupyter instance to your localhost 8888 port for you to use locally. The example below is templated after how you would connect AWS, where your-public-cert.pem is your own public certificate and ubuntu@super-rad-GPU-instance.compute-1.amazonaws.com is your login to your cloud server. You can easily grab this on AWS by going to Instances > Connect and copy the part after ssh and swap that out in the command below.

1
ssh -N -f -L localhost:8888:localhost:8889 -i "your-public-cert.pem" ubuntu@super-rad-GPU-instance.compute-1.amazonaws.com

Troubleshooting#

Python errors  
Python version Python is core to run Caffe2. We currently require Python2.7. Ubuntu 14.04 and greater have Python built in by default, and that can be used to run Caffe2. To check your version: python --version
Solution If you want the developer version of python, you could install the dev package for Python: sudo apt-get install python-dev
Python environment You may have another version of Python installed or need to support Python version 3 for other projects.
Solution Try virtualenv or Anaconda. The Anaconda platform provides a single script to install many of the necessary packages for Caffe2, including Python. Using Anaconda is outside the scope of these instructions, but if you are interested, it may work well for you.
pip version If you plan to use Python with Caffe2 then you need pip.
Solution sudo apt-get install python-pip and also try using pip2 instead of pip.
Building from source  
OS version Caffe2 requires Ubuntu 14.04 or greater.
git While you can download the Caffe2 source code and submodules directly from GitHub as a zip, using git makes it much easier.
Solution sudo apt-get install git
protobuf You may experience an error related to protobuf during the make step.
Solution Make sure you’ve installed protobuf in both of these two ways: sudo apt-get install libprotobuf-dev protobuf-compiler && sudo pip install protobuf
libgflags2 error This optional dependency is for Ubuntu 14.04.
Solution Use apt-get install libgflags-dev for Ubuntu 16.04.
GPU Support  
GPU errors Unsupported GPU or wrong version
Solution You need to know the specific deb for your version of Linux. sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb Refer to NVIDIA’s installation guide.
Build issues Be warned that installing CUDA and cuDNN will increase the size of your build by about 4GB, so plan to have at least 12GB for your Ubuntu disk size.
Caffe2 Python  
Module not found Verify that Caffe2 was installed correctly
Solution Run the following: python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure" An output of Success means you are ready to with Caffe2 - congratulations! An output of Failure usually means you have not installed one of the dependencies correctly.
Dependencies missing It’s possible you’re trying to run something that was using an optional dependency.
Solution sudo pip install setuptools flask jupyter matplotlib scipy pydot tornado python-nvd3 scikit-image pyyaml
matplotlib error Sometimes you need setuptools first: sudo pip install -U pip setuptools && sudo pip install matplotlib
model downloader error If you need to run it as sudo (because it’s trying to install the model in /usr/local/caffe2…), then PYTHONPATH might not be visible in that context.
Solution sudo visudo then add this line: Defaults env_keep += "PYTHONPATH"
“AttributeError: ‘module’ object has no attribute ‘MakeArgument’” Occurs when calling core.CreateOperator
Solution Check your install directory (/usr/local/), and remove the folder /caffe2/python/utils
Other Errors  
libdc1394 error for some reason once opencv is installed you may get errors with libdc1394
Solution ln /dev/null /dev/raw1394 but that’s not persistent so try sh -c 'ln -s /dev/null /dev/raw1394' or when instantiating the container use: --device /dev/null:/dev/raw1394
caffe2_pybind11_state_gpu WARNING:root:Debug message: No module named caffe2_pybind11_state_gpu
Solution ignore if you’re using CPU-only
Python kernel crashing This happens when you try to call Jupyter server directly (like in a Docker container).
Solution Use sh -c "jupyter notebook ..." to get around this problem.
Exception: “dot” not found in path This happens in some of the tutorials when graphing.
Solution Make sure you have graphviz and pydot. sudo apt-get install python-pydot and sudo pip install graphviz or brew install these to fix the problem.

Dependencies#

Try to keep the system and python dependencies at the same version. We’ve encountered issues when the python version is more updated than the system version or vice versa.

System Dependencies  
cmake  
git  
gflags  
glog: Google Logging Module  
NumPy  
protobuf: Google Protocol Buffers version 3.2.0
Build tools for C++ 11 Xcode CLTs & automake (mac/iOS), build-essential (linux), Visual Studio (win), Android Studio (droid)
Python Dependencies  
gflags  
glog: Google Logging Module  
NumPy  
protobuf: Google Protocol Buffers version 3.2.0

Strictly speaking, the core dependencies above are all you need to run the core Caffe2 successfully. However, for real-world deep learning (e.g., image processing, mathematical operations, etc), there are other dependencies that you will want to install in order to experience the full features of Caffe2.

Optional System Dependencies  
cuDNN if using GPU, this is needed for Caffe2’s cuDNN operators
Eigen 3  
LevelDB  
Nvidia CUDA v6.5 or greater
OpenCV for image-related operations; requires leveldb <= v1.19
OpenMPI for MPI-related Caffe2 operators
RocksdB for Caffe2’s RocksDB IO backend
ZeroMQ needed for Caffe2’s ZmqDB IO backend (serving data through a socket)
Python Optional Dependencies  
There are also various Python libraries that will be valuable in your experience with Caffe2. Many of these are required to run the tutorials.  
Flask  
Graphviz  
Hypothesis  
Jupyter for the Jupyter Notebook
LevelDB  
lmdb  
Matplotlib  
Pydot  
Python-nvd3  
pyyaml  
requests  
Scikit-Image  
SciPy  
setuptools  
Tornado  
ZeroMQ  
What’s in Third Party?  
Whether building from source or installing from the Python wheel, you also get complimentary tools installed as well.  
Android cmake  
benchmark  
cnmem  
cub  
eigen  
googletest  
ios-cmake  
nccl  
nervanagpu  
NNPACK requires ninja and confu to build
Google Protocol Buffers (protobuf)  
pybind11  

caffe2--Install的更多相关文章

  1. Cuda 9.2 CuDnn7.0 官方文档解读

    目录 Cuda 9.2 CuDnn7.0 官方文档解读 准备工作(下载) 显卡驱动重装 CUDA安装 系统要求 处理之前安装的cuda文件 下载的deb安装过程 下载的runfile的安装过程 安装完 ...

  2. ubuntu 16.04 安装caffe2的方法及问题解决

    工作需要安装caffe2,从用户体验上来讲,caffe2的安装绝对是体验比较差的那种,花费了我那么多时间去倒腾,这样的用户体验的产品,估计后面是比较危险的. 废话少说,直接上步骤: 官网上有安装目录, ...

  3. Win10上使用VS2015编译Caffe2

    Caffe2的官网:https://caffe2.ai/ 1.下载.安装及相关准备 在Caffe2的官网点击"Get Started",即进入安装说明页面.官方还未提供编译好的bi ...

  4. Caffe2的安装

    源码下载 首先下载caffe2的源码:https://github.com/caffe2/caffe2 网上都建议使用git命令下载,因为caffe2依赖了很多第三方模块,git会根据依赖自动下载第三 ...

  5. Caffe2 Detectron安装错误记录

    caffe2 caffe2的安装方法有几种.其中最方便的是conda install.但是要求必须安装Anaconda. conda install -c caffe2 caffe2-cuda8.0- ...

  6. caffe, caffe2, paddlepaddle, tensorflow对于cuda,cudnn,protobuf依赖的纠葛

    由于在学习神经网络,为了尝试各种深度学习框架,电脑上目前安装了caffe, caffe2, paddlepaddle, tensorflow三款主流框架,但是安装过程中真是痛不欲生. 且不说单单安装一 ...

  7. Caffe2(3)----下载现成的模型并使用

    Caffe2训练好的模型可在Model Zoo下载,下载的命令很简单,接下来以下载和使用squeezenet为例,进行简单说明. 1.浏览可下载的模型 已有模型都放在github上,地址:https: ...

  8. Caffe2(1)----Ubantu14.04安装

    英文好的请直接参考官方安装文档:Ubantu14.04下的源码编译. Caffe2的安装相比以前Caffe一代的安装,简直有点一键装机的感觉,下面简单总结下Caffe2的安装. 环境:Ubantu14 ...

  9. (译)综合指南:通过Ubuntu 16.04上从Source构建来安装支持GPU的Caffe2

    (译)综合指南:通过Ubuntu 16.04上从Source构建来安装支持GPU的Caffe2 译者注: 原文来自:https://tech.amikelive.com/node-706/compre ...

  10. caffe2 环境的搭建以及detectron的配置

    caffe2 环境的搭建以及detectron的配置 建议大家看一下这篇博客https://tech.amikelive.com/node-706/comprehensive-guide-instal ...

随机推荐

  1. 【bzoj3526】[Poi2014]Card 线段树区间合并

    题目描述 有n张卡片在桌上一字排开,每张卡片上有两个数,第i张卡片上,正面的数为a[i],反面的数为b[i].现在,有m个熊孩子来破坏你的卡片了!第i个熊孩子会交换c[i]和d[i]两个位置上的卡片. ...

  2. 【Luogu】P3396哈希冲突(根号算法)

    题目链接 根号算法真的是博大精深啊……明明是暴力但复杂度就是能过 这也太强了吧!!! 预处理出p<=sqrt(n)的所有情况,耗时n根n 查询: 如果p<=根n,O1查表 如果p>= ...

  3. HDU——1027Ignatius and the Princess II(next_permutation函数)

    Ignatius and the Princess II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K ( ...

  4. node命令行开发

    node命令行开发比较出名的就是commander和yargs,以及inquirer,但是很少有文章将三个模块进行对比. 这里简单的描述一下: 1. commander直观,易上手,但是功能较弱,没有 ...

  5. iOS-OAuth认证

    OAuth授权 OAuth授权分四步: 第一步,应用向服务提供方申请请求令牌(Request Token),服务提供方验证通过后将令牌返回.这个步骤由于涉及到应用帐号密码,在应用的服务端发起,所以这个 ...

  6. 【HDOJ6224】Legends of the Three Kingdoms(概率DP)

    题意:三国杀,给定4个白板武将的血量,4个角色轮流行动,每回合行动时如果该人存活则可以选择使阵营不同的角色血量-1,血量为0则死亡.每个人按自己获胜概率最大化行动,如果有多种方案概率相同则等概率选择这 ...

  7. 20深入理解C指针之---程序的栈和堆

    一.程序在内存中的存储分段: 程序段主要包括:code段.data段.内核段.堆段和栈段 1.code段: 1).存储程序汇编后程序指令 2).此段中的数据是只读的 3).不能用于存储变量,可以存储常 ...

  8. PhPStorm 快捷键使用(转载)

    PhPStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能.Phpstrom的一款名 ...

  9. springboot2.x整合redis实现缓存(附github链接)

    本文代码已提交github:    https://github.com/LCABC777/Springboot-redis(1)Springboot中使用redis操作的两种方式:lettuce和j ...

  10. CodeForces - 618F Double Knapsack

    Discription You are given two multisets A and B. Each multiset has exactly n integers each between 1 ...