双显卡下编译caffe

笔记本电脑核显+独显双显卡下编译安装caffe

在笔记本电脑上安装caffe时一开始没有注意到大部分笔记本是核显+独显这一特性,就按照之前在台式机上的编译文档进行安装,结果安装过程中遇到各种问题,经过N次重装系统后最终跑通官方例子。现将从重装系统后开始到caffe编译通过所使用的所有命令记录下来。注:台式机上编译可参照Caffe-Face编译


注:
1.系统环境及版本:Ubuntu16.04+OpenCV3.0+CUDA8.0+cuDNN5.1.
2.安装中有些库可能使用apt-get install方式安装过,我又下载代码重新编译安装,是因为最终编译caffe时出现问题不得已才选择手动编译安装。
3.手动编译时,大部分下载代码的解压后在根目录新建build文件夹然后cmake编译等。

A.安装显卡驱动 
       System Settings--->Software&Update--->AdditionalDriver--->Using NVIDIA binary...--->Apply
       reboot 
       sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
       sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
       sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
       sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1
       sudo ldconfig

B.gcc,g++版本降级5.4->4.8
       sudo apt-get install gcc-4.8
       sudo apt-get install g++-4.8
       sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
       sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 100
       sudo update-alternatives --config gcc
       sudo update-alternatives --config g++
       gcc --version
       g++ --version
       reboot

C.安装CUDA
       sudo sh cuda_8.0.61_375.26_linux.run
       选项不要安装driver n
       sudo gedit /etc/profile
            export PATH=/usr/local/cuda-8.0/bin:$PATH
            export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64:$LD_LIBRARY_PATH
       sudo gedit /etc/ld.so.conf.d/cuda.conf
            /usr/local/cuda/lib64
       sudo ldconfig
       reboot

       sudo make
       ./deviceQuery
       nvcc -V

D.安装cuDNN 
       sudo cp cuda/include/cudnn.h /usr/local/cuda/include
       sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
       sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
       sudo ldconfig -v 
       sudo ln -sf /usr/local/cuda/lib64/libcudnn.so.5.1.10 /usr/local/cuda/lib64/libcudnn.so.5
       sudo ldconfig

E.安装numpy,setuptools
       wget https://bootstrap.pypa.io/get-pip.py
       sudo python  get-pip.py
       sudo pip install numpy
       sudo pip install setuptools

F.安装boost
       apt-get install mpi-default-dev libicu-dev python-dev libbz2-dev
       sudo apt-get install mpi-default-dev libicu-dev python-dev libbz2-dev
       sudo ./bootstrap.sh
       sudo ./b2 -a -sHAVE_ICU=1
       sudo ./b2 install


G.安装opencv
       sudo apt-get update
       sudo apt-get install -y --no-install-recommends build-essential cmake libavcodec-dev libavformat-dev libgtk2.0-dev libgtkglext1 libgtkglext1-dev libjpeg-dev libpng-dev libswscale-dev libtbb2 libtbb-dev libtiff-dev

       在/opencv/modules/cudalegacy/src/graphcuts.cpp中,把
       #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
       改为
       #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION>=8000)
       mkdir build && cd build
       cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. 
       sudo make -j8
       sudo make install

H.安装dlib
       wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python
       sudo python setup.py install

I.安装一些依赖库
       sudo apt-get install freeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
       sudo apt-get install 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
       sudo apt-get install libatlas-base-dev
       sudo apt-get install autotools-dev
       sudo apt-get install automake
       sudo apt-get install autoconf2.13
       sudo apt-get install m4
       sudo apt-get install perl
       sudo apt-get install libperl5.14
       sudo apt-get install aclocal-1.14
       sudo apt-get install libsnappy-dev 

J.安装glog,gflags,lmdb,leveldb,hdf5,protobuf
       wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz
       tar zxvf glog-0.3.3.tar.gz
       cd glog-0.3.3
       sudo ./autogen.sh
       ./configure
       sudo make
       sudo make install

       wget https://github.com/schuhschuh/gflags/archive/master.zip
       mkdir build && cd build
       export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
       sudo make
       sudo make install

       git clone https://github.com/LMDB/lmdb
       cd lmdb/libraries/liblmdb
       sudo make
       sudo make install

       make
       sudo cp libleveldb* /usr/local/lib   #out-shared
       sudo cp libleveldb* /usr/local/lib   #out-static
       sudo cp -r include/* /usr/local/include
       sudo ldconfig -v
       sudo ln -sf /usr/local/lib/libleveldb.so.1.7 /usr/local/lib/libleveldb.so.1

       sudo tar -xzvf hdf5-1.8.17.tar.gz -C /usr/local
       sudo ./configure --prefix=/usr
       sudo make
       sudo make check
       sudo make install
       sudo make check install

       sudo apt-get install curl
       sudo ./autogen.sh
       sudo ./configure
       sudo make
       sudo make check
       sudo make install
       sudo gedit /etc/ld.so.conf
       /usr/local/lib
       sudo ldconfig

        cd ./python 
        python setup.py build 
        python setup.py test 
        python setup.py install


K.编译caffe
       mkdir build && cd build
       cmake ..
       sudo make
       sudo make install

L.运行自己编写的C++调用caffe接口的例子TestMTCNN
       cmake ..
       make
       ./MTCNNTest ../MTmodel ../data/test.jpg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sun-Eve

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值