caffe2教程


- ubuntu16.04下安装caffe2

  • 安装需求包
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
  • 安装cuda(支持8.0)和cudnn(支持V6)工具--配置过caffe的可以忽略这步
    1.安装cuda8.0
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

2.安装cudnn-v5.1(这里是V5.1版本的cudnn,已经支持V6版本的cudnn,可以去Nvidia网站上下载)

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
  • 安装可用包
sudo apt-get install -y --no-install-recommends libgflags-dev
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
  • clone caffe2工具包
git clone --recursive https://github.com/caffe2/caffe2.git
cd caffe2
make
cd build
sudo make install

tips:安装的时候一定要安装建议来装,暂时不要调用多线程来安装,否则会出现失败的情况。

  • 测试caffe2工具是否安装成功(成功会出现Success)
zhangbz@zhangbz:~/work/caffe2/build$ python -c 'from caffe2.python import core'
zhangbz@zhangbz:~/work/caffe2/build$ python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"
Success
  • 测试gpu是否工作(出现OK)
zhangbz@zhangbz:~/work/caffe2/build$ python -m caffe2.python.operator_test.relu_op_test
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/zhangbz/work/caffe2/build/caffe2/python/operator_test/relu_op_test.py", line 7, in 
    from hypothesis import given
ImportError: No module named hypothesis  ##缺少hypothesis模块

tips:安装hypothesis模块

zhangbz@zhangbz:~/work/caffe2/build$ pip install hypothesis

再次测试gpu是否工作:

zhangbz@zhangbz:~/work/caffe2/build$ python -m caffe2.python.operator_test.relu_op_test
Trying example: test_relu(self=<__main__.TestRelu testMethod=test_relu>, 
X=array([[-0.95520395, -1.        , -0.14771317],[-0.56449473, -0.9356454 ,  0.76431829],[-0.32907826, -0.27779716, -0.66857189][-0.37795779, -0.57947767, -0.03350436]], dtype=float32), gc=, dc=[, device_type: 1], engine=u'')
Trying example: test_relu(self=<__main__.TestRelu testMethod=test_relu>, X=array([ 0.        ,  0.83450586,  0.02696872,  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.        ,  0.0290993 ],[ 0.02696681,  0.6186235 ],[-0.27140155,  0.65315956],[-0.39703232,  0.17461373]]], dtype=float32), gc=, dc=[, device_type: 1], engine=u'')
Trying example: test_relu(self=<__main__.TestRelu testMethod=test_relu>, X=array([[ 0.        , -0.35016027]], 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.,  0., -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=, dc=[, device_type: 1], engine=u'')
Trying example: test_relu(self=<__main__.TestRelu testMethod=test_relu>, X=array([ 0.,  0.,  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=, dc=[, device_type: 1], engine=u'')
Trying example: test_relu(self=<__main__.TestRelu testMethod=test_relu>, X=array([-0.83774924], 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.        ,  0.78971076,  0.        ], dtype=float32), gc=, dc=[, device_type: 1], engine=u'CUDNN')
.
----------------------------------------------------------------------
Ran 1 test in 13.717s
OK

你可能感兴趣的:(caffe2教程)