本文共 2461 字,大约阅读时间需要 8 分钟。
我的本机环境如下,任何的环境上的不一致可能会带来一些安装上的问题,所以这个教程只是一个简单的参考。
sudo apt-get updatesudo 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
GPU的用户需要GPU驱动,除此以外还有CUDA和CUDNN的依赖。详细方法可以参照这个博客的内容。 以下介绍一种简单的方法,根据自己环境调整
sudo apt-get update && sudo apt-get install wget -y --no-install-recommendswget "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.debsudo apt-get updatesudo apt-get install cuda
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/localrm cudnn-8.0-linux-x64-v5.1.tgz && sudo ldconfig
同样的,还需要一些caffe2自身依赖的库。这部分可选,根据库名可以看出这里面包含opencv这样的图像处理的库,leveldb这样的文件格式处理库,openmpi这样的mpi通讯框架(用于分布式训练)等等,以及一些python上可选的依赖。
# for both Ubuntu 14.04 and 16.04sudo 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-pydotsudo pip install \ flask \ future \ graphviz \ hypothesis \ jupyter \ matplotlib \ pydot python-nvd3 \ pyyaml \ requests \ scikit-image \ scipy \ setuptools \ six \ tornado
clone项目并且编译,clone的速度可能不会很快,因为还需要下载一些第三方的依赖文件,花费时间比较长。
git clone --recursive https://github.com/caffe2/caffe2.git && cd caffe2make && cd build && sudo make installpython -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"
上面给出了编译之后测试是否成功的方法,在python中导入相应的包看看是否成功。
python -m caffe2.python.operator_test.relu_op_test
执行以上的python模块化执行的命令可以测试是否能够正常地在caffe2中使用GPU,需要注意的是此时不能更改目录,还需要在make时候进入的build目录中。 为了能够在所有目录中都能正常使用caffe2,需要修改环境变量。建议修改用户目录下的.bashrc文件,这样系统的不同用户之间不会冲突。
vim ~/.bashrc#在文件的最后一行插入以下内容(需要替换caffe2的路径)export PYTHONPATH=/usr/local:$PYTHONPATHexport PYTHONPATH=$PYTHONPATH:/path/to/caffe2_ROOT/buildexport LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH#然后保存文件重新source一下source ~/.bashrc
转载地址:http://blgq.baihongyu.com/