安装Caffe - Ubuntu-16.04 - Python 3.5
本文转载翻译自: https://github.com/adeelz92/Install-Caffe-on-Ubuntu-16.04-Python-3
本文是在Ubuntu 16.04上安装带有GPU支持,使用Python 3.5的Caffe安装指南。可以相应地更改命令以将本指南用于其他版本的Python 3。
视频教程:https://www.youtube.com/watch?v = yyU9NLkHl0
本指南默认您已经安装了CUDA和cuDNN。
有关CUDA安装,请访问:http://docs.nvidia.com/cuda/cuda-installation-guide-linux/#axzz4VZnqTJ2A。
对于cuDNN,请访问:http://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html 。
第1步:更新和升级包列表。
1. sudo apt-get update
2. sudo apt-get upgrade
第2步:安装常规依赖项。在打开终端并输入以下命令。
1. sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev
2. libhdf5-serial-dev protobuf-compiler
3. sudo apt-get install --no-install-recommended libboost-all-dev
4. sudo apt-get install libatlas-base-dev
5. sudo apt-get install libopenblas-dev
6. sudo apt-get install libgflags-dev libgoogle -glog-dev liblmdb-dev
步骤3:使用“cd /your/path”命令转到准备安装的文件夹。使用以下命令下载/克隆最新的git存储库,然后转到终端中的caffe目录。
1. git clone https://github.com/BVLC/caffe.git
2. cd caffe
第4步:安装caffe的python需求。在终端中使用以下命令。
1. cd python
2. for req in $(cat requirements.txt); do pip3 install --no-cache-dir $req; done #时间可能有点长,等待它完成安装,如果失败,进入root模式再运行
3. cd ..
第5步:将caffe python路径添加到$ PYTHONPATH
- export PYTHONPATH=/path/to/caffe/python:$ PYTHONPATH
例如:export PYTHONPATH=/home/user/xyz/caffe/python:$ PYTHONPATH
步骤6:通过在终端中键入以下命令来获取Python 3.5 USER_SITE路径。
- python3 -m site
我们需要USER_SITE中给出的路径。例如USER_SITE:’/home/user/.local/lib/python3.5/site -packages’。如果USER_SITE不存在,那么使用带有/dist-packages的那个。
步骤7:使用终端中的以下命令生成Makefile配置文件。
- cp Makefile.config.example Makefile.config
步骤8:我们将修改Makefile.config文件以安装Python3.5的caffe。在您喜欢的编辑器中编辑Makefile.config。
步骤9:在Makefile.config中执行以下更改。
-
注释引用python2.7的PYTHON_INCLUDE行。他们应该是这样的:
#PYTHON_INCLUDE:= /usr/include/python2.7 \
#/usr/lib/python2.7/dist-packages/numpy/core/include -
为python 3取消PYTHON_LIBRARIES和PYTHON_INCLUDE的注释。此时它们应该如下所示:
PYTHON_LIBRARIES:= boost_python3 python3.5m
PYTHON_INCLUDE:= / usr /include/python3.5m \
/usr/lib/python3.5/dist-packages/numpy/core/include -
使用在步骤6中复制的路径,并将以下路径添加到PYTHON_INCLUDE。
/home/user/.local/lib/python3.5/site-packages/numpy/core/include
此时PYTHON_INCLUDE应如下所示。
PYTHON_INCLUDE:=/usr/include/python3.5m \
/usr/lib/python3.5/dist-packages/numpy/core/include \
/home/nvme/.local/lib/python3.5/site-packages/numpy/core /include -
取消注释WITH_PYTHON_LAYER:= 1。
-
将’/usr/include/hdf5/serial’添加到INCLUDE_DIRS变量。它应该如下所示:
INCLUDE_DIRS:= $(PYTHON_INCLUDE)/usr/local/include
/usr/include/hdf5/serial -
使用命令:“find /usr/lib -name hdf5”找到hdf5的路径。复制路径并在其后附加’/serial’后将其添加到LIBRARY_DIRS。此时它应该看起来像这样:
LIBRARY_DIRS:= $(PYTHON_LIB)/usr/local/lib /usr/lib/ usr/lib/x86_64-linux-gnu/hdf5/serial -
使用命令“find /usr -name libpython3.5 *”找到libpython3.5m的路径,此处可能报错权限不足,加sudo再执行就可以了。它将返回到库的多个路径,使用’/usr/lib/x86_64-linux-gnu/’。将此路径添加到PYTHON_LIB和LIBRARY_DIRS。这两个应该看起来像这样:
PYTHON_LIB:= /usr/lib/ usr/lib/x86_64-linux-gnu/
LIBRARY_DIRS:= $(PYTHON_LIB)/usr/local/lib/ usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial /usr/lib/x86_64-linux-gnu/ -
使用命令“find /usr -name libboost_python-py35*”找到libboost_python-py35的路径。通常路径为’/usr/lib/x86_64-linux-gnu/’,它们已添加到PYTHON_LIB和LIBRARY_DIRS中。如果不同,则将其添加到这两个变量中。
-
现在将PYTHON_LIBRARIES中的boost_python3重命名为boost_python-py35。PYTHON_LIBRARIES应该是这样的:
PYTHON_LIBRARIES:= boost_python-py35 python3.5m -
确保CPU_ONLY:= 1被注释,以安装支持GPU的caffe。
步骤10:使用以下命令安装caffe。确保您在caffe主目录中。
1.make all
2.make runtest
3.make pycaffe
步骤11:通过在python3解释器中导入caffe进行检查。打开python3解释器并导入caffe。
1.python3
2.import caffe
此时应该导入caffe并且能够成功使用。
关于cudnn的问题,cudnn实际上可以不用,所以注释不用去管,本人在编译caffe时使用cudnn一直报错,后来干脆注释掉不用了,暴力解决问题。
caffe依赖库很多,很容易出现这样或那样的问题,把问题从头到尾好好看一看,拿到网上去查询,绝大部分都可以解决,主要是需要耐心和细心。