今天F8开发者大会上,Facebook正式发布Caffe2.经过一天的折腾,终于在ubuntu14.04上成功配置caffe2,现将经验分享如下:

1.ubuntu14.04系统下caffe2所需依赖包安装,很多依赖包在安装caffe时已经安装,这个我们不需要管,安装过得依赖包会自动跳过:

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

2.GPU(可选择)

   如果时caffe老用户,那么这一步自行跳过,安装命令如下:

   2.1 CUDA安装

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

    2.2  CUDNN安装

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

3.可选择的依赖包(这个可以在后期需要时再安装)

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 \
      graphviz \
      hypothesis \
      jupyter \
      matplotlib \
      pydot python-nvd3 \
      pyyaml \
      requests \
      scikit-image \
      scipy \
      setuptools \
      tornado
# for Ubuntu 14.04
sudo apt-get install -y --no-install-recommends libgflags2

4.clone&build

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"

  之后,运行以下代码,验证GPU是否安装成功

python -m caffe2.python.operator_test.relu_op_test

在我运行之后出现如下报错:

Traceback (most recent call last):
  File "/home/hzz/anaconda2/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/home/hzz/anaconda2/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/hzz/caffe2/build/caffe2/python/operator_test/relu_op_test.py", line 7, in <module>
    from hypothesis import given
ImportError: No module named hypothesis

针对提示错误,缺少hypothesis库,运行以下命令

pip install hypothesis

然后再次输入之前测试命令,运行成功,结果如下:

Trying example: test_relu(self=<__main__.TestRelu testMethod=test_relu>, X=array([[-0.86028236,  1.        ,  0.61849821, -0.7184248 ,  0.89307433],
       [ 0.92490983,  1.        ,  0.90946507, -0.37061477, -0.67617983],
       [ 0.07383067,  0.55851477,  0.90312296, -0.94337231,  0.95312852],
       [-0.50963259,  0.83218467,  0.86731863,  0.63752574,  0.0466823 ],
       [ 0.87043667, -1.        ,  0.66159999,  0.10338549,  0.        ]], dtype=float32), gc=, dc=[, device_type: 1], engine=u\'\')
Trying example: test_relu(self=<__main__.TestRelu testMethod=test_relu>, X=array([ -2.72050470e-01,  -1.68155816e-44,   1.22070059e-01], dtype=float32), gc=, dc=[, device_type: 1], engine=u\'\')
Trying example: test_relu(self=<__main__.TestRelu testMethod=test_relu>, X=array([[-0.27205047],
       [-0.        ],
       [ 0.81497574],
       [ 0.        ]], dtype=float32), gc=, dc=[, device_type: 1], engine=u\'\')
Trying example: test_relu(self=<__main__.TestRelu testMethod=test_relu>, X=array([ 0.], dtype=float32), gc=device_type: 1, dc=[, device_type: 1], engine=u\'CUDNN\')
Trying example: test_relu(self=<__main__.TestRelu testMethod=test_relu>, X=array([ 0.80068815,  0.1997007 ,  1.        , -0.46049505], dtype=float32), gc=, dc=[, device_type: 1], engine=u\'CUDNN\')
Trying example: test_relu(self=<__main__.TestRelu testMethod=test_relu>, X=array([ 0.73503637, -0.1312747 , -0.06368257], dtype=float32), gc=device_type: 1, dc=[, device_type: 1], engine=u\'CUDNN\')
Trying example: test_relu(self=<__main__.TestRelu testMethod=test_relu>, X=array([ 0.], dtype=float32), gc=, dc=[, device_type: 1], engine=u\'CUDNN\')
Trying example: test_relu(self=<__main__.TestRelu testMethod=test_relu>, X=array([-0.8335939 , -0.67032146], dtype=float32), gc=device_type: 1, dc=[, device_type: 1], engine=u\'CUDNN\')
Trying example: test_relu(self=<__main__.TestRelu testMethod=test_relu>, X=array([ 0.05724426,  1.        ], dtype=float32), gc=device_type: 1, dc=[, device_type: 1], engine=u\'\')
Trying example: test_relu(self=<__main__.TestRelu testMethod=test_relu>, X=array([-0.66229254,  0.59582025, -0.85684592], dtype=float32), gc=device_type: 1, dc=[, device_type: 1], engine=u\'CUDNN\')
.
----------------------------------------------------------------------
Ran 1 test in 0.661s

OK

5.环境变量设置

echo $PYTHONPATH
# export PYTHONPATH=/usr/local:$PYTHONPATH
# export PYTHONPATH=$PYTHONPATH:/home/hzz/caffe2/build
echo $LD_LIBRARY_PATH
# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

然后就可以开心的跑caffe2上自带的例子了。

      

 

版权声明:本文为xzyzg原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xzyzg/p/6735836.html