caffe2和pytorch是FaceBook的两大开源深度学习框架,caffe2于2018年04月并入了pytorch:
所以效果要安装拥有最新特性的caffe2,就直接安装pytorch吧。
硬件配置:
软件配置:
CUDA8.0+cudnn6.0
gcc 5.4.1 g++5.4.1
cmake 3.5.1
1.安装依赖:
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
build-essential \
cmake \
git \
libgoogle-glog-dev \
libgtest-dev \
libiomp-dev \
libleveldb-dev \
liblmdb-dev \
libopencv-dev \
libopenmpi-dev \
libsnappy-dev \
libprotobuf-dev \
openmpi-bin \
openmpi-doc \
protobuf-compiler \
python-dev \
python-pip
sudo pip install \
future \
numpy \
protobuf
# for Ubuntu 16.04
sudo apt-get install -y --no-install-recommends libgflags-dev
2.安装CUDA+cuDNN
这里特别注意,当前(2018年04月24日)版本的pytorch只支持使用CUDA8.0+cuDNN6.0编译。我已经尝试在CUDA9.0+CUDNN7.0下编译,结果是编译失败。
3.编译安装
# Clone Caffe2's source code from our Github repository
git clone --recursive https://github.com/pytorch/pytorch.git && cd pytorch
git submodule update --init
# Create a directory to put Caffe2's build files in
mkdir build && cd build
# Configure Caffe2's build
# This looks for packages on your machine and figures out which functionality
# to include in the Caffe2 installation. The output of this command is very
# useful in debugging.
cmake ..
# Compile, link, and install Caffe2
sudo make install
请注意此处必须要将自摸块也要一并clone下来,否则编译期间会遇到各种各样的问题。我已经将源码打包上传于百度云,
链接:https://pan.baidu.com/s/1PEpLXJLfJKpde9HPaV_b1A 密码:b0kn
4.验证安装
# To check if Caffe2 build was successful
python2 -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"
# To check if Caffe2 GPU build was successful
# This must print a number > 0 in order to use Detectron
python2 -c 'from caffe2.python import workspace; print(workspace.NumCudaDevices())'
正常结果应该如下:
如果编译安装过程没有什么错误,但是验证的时候出错了,试一试添加环境变量:
export PYTHONPATH=/home/xzchuang/pytorch/build:$PYTHONPATH
5.特别说明
先前我的环境是 CUDA9.0+cuDNN7.0+tensorflow-gpu1.6,装完以上环境之后发现在import tensorflow抛出错误:
ImportError:libcusolver.so.9.0
经实验CUDA8.0+cudnn6.0不支持tensorflow-gpu1.5、1.6、1.7。我卸载掉原先的版本,之后安装1.4版本就没有抛异常了。