三:Cudnnv5的安装
从官网下载最新的cudnn,网址:https://developer.nvidia.com/rdp/cudnn-download,如下图选择适当的cudnn版本
本人下载放在Download目录下,进入该目录并解压,建立软连接,如下所示:
cd ./Download/ tar -xvzf cudnn-8.0-linux-x64-v5.1.tgz sudo cp ./cuda/include/cudnn.h /usr/local/cuda/include sudo cp ./cuda/lib64/lib* /usr/local/cuda/lib64 cd /usr/local/cuda/lib64/ sudo rm -rf libcudnn.so libcudnn.so.5 sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5 sudo ln -s libcudnn.so.5 libcudnn.so sudo ldconfig
四:matlab的安装与配置
本人使用的matlab版本位:R2014b_glnxa64_withcrack.iso
1、挂载iso(需新建matlab_iso文件夹):
mkdir matlab_iso //主目录
sudo mount -o loop R2014b_glnxa64_withcrack.iso ~/matlab_iso
2、开始安装:
cd~/matlab_iso
sudo ./install
3、选择不联网安装
4、密钥输入,29797-39064-48306-32452
5、激活:选择”license.lic”文件进行激活(在crack文件夹下面)
6、将libmwservices.so复制到/usr/local/MATLAB/R2014b/bin/glnxa64中:
sudo cp libmwservices.so /usr/local/MATLAB/R2014b/bin/glnxa64/libmwservices.so
启动matlab后出现问题,可以参考这个帖子 。只需要将/sys/os/glnxa64/下的libstdc++.so.6 重命名位libstdc++.so.6.old.
五:Opencv3.1的安装
安装必要项:
1 sudo apt-get update 2 sudo apt-get install -y build-essential cmake git pkg-config 3 sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler 4 sudo apt-get install -y libatlas-base-dev 5 sudo apt-get install -y --no-install-recommends libboost-all-dev 6 sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev 7 sudo apt-get install -y Python-pip 8 sudo apt-get install -y python-dev 9 sudo apt-get install -y python-numpy python-scipy
sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
解压opencv并进入该目录:
cd opencv-3.1.0 mkdir build cd build cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
期间可能会卡在ippcv的下载中,Ctrl + c中断后,可以到 ippicv_linux_20151201.tgz 下载。将下载的文件替换掉 OpenCV-3.1.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b下的同名文件。
make -j4 sudo make install
make过程中,出现了graphcuts.cpp 的错误,进行如下修改:
sudo vim ../modules/cudalegacy/src/graphcuts.cpp
将45行的#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)修改为#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
编译完成后注意需要运行sudo make install执行安装
六:Caffe编译
1 cd ~ 2 git clone https://github.com/BVLC/caffe.git //从github上git caffe
如果没有安装git,可以先使用sudo apt-get install git执行安装。
1 cd caffe 2 sudo cp Makefile.config.example Makefile.config 3 sudo vim Makefile.config
此时会修改caffe的编译配置,需要修改如下地方:
1 # USE_CUDNN := 1 修改成: USE_CUDNN := 1 2 # OPENCV_VERSION := 3 修改为: OPENCV_VERSION := 3 3 # WITH_PYTHON_LAYER := 1 修改为 WITH_PYTHON_LAYER:=1 4 #USE_OPENCV := 0 修改成 USE_OPENCV :=1 5 #USE_LEVELDB := 0 修改为 USE_LEVELDB:=1 6 #USE_LMDB := 0 修改位 USE_LMDB :=1 7 //修改matlab目录 8 将MATLAB_DIR := /usr/local/MATLAB/R2014b 9 //最终要的修改 # Whatever else you find you need goes here.下面的 10 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 11 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 12 修改为: INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial 13 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial //这是因为Ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径
修改Makefile文件:
sudo vim Makefile 将 NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS) 替换为 NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
编辑/usr/local/cuda/include/host_config.h 将119行的
#error -- unsupported GNU version! gcc versions later than 5 are not supported! 修改为 //#error -- unsupported GNU version! gcc versions later than 5 are not supported!,即添加了注释,使之无效
进行编译:
sudo make all -j8 sudo make runtest -j8
若编译出现libcudart.so.8.0错误,则执行如下命令
sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.8.0 sudo cp /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/lib/libcublas.so.8.0 sudo cp /usr/local/cuda-8.0/lib64/libcurand.so.8.0 /usr/local/lib/libcurand.so.8.0 sudo ldconfig
此时正确情况如下图所示:
编译matcaffe:
执行 make matcaffe -j4
显示MEX completed successfully,表示编译matcaffe成功,
执行make mattest -j4 即运行matcaffe的测试程序,结果如下图:
编译pycaffe
1 sudo make pycaffe -j4 2 sudo make distribute -j4 3 cd python 4 for req in $(cat requirements.txt); do sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple $req; done 5 cd ../
运行make pytest -j4进行测试,出现如下图:
表明pycaffe编译成功 在~/.bashrc 末尾添加export PYTHONPATH=/home/zf/caffe/python:$PYTHONPATH //自己对照自己路径。
打开python导入caffe 可以成功,如下: