caffe配置(Ubuntu16.04+CUDA8.0+CUDNN8.0+OPENCV3.1.0+Anaconda2)

1. Ubuntu 16.04安装


  • 制作启动盘
  • 重启电脑 -> 进入BIOS系统(戴尔 F2键) ->修改启动项,优先优盘启动

NVIDIA显卡与Ubuntu系统不兼容,会出现黑屏现象
解决方法:

  1. 安装时,选择”install ubuntu”,按”e”进入编辑模式去掉”–”后,依照不同显卡进行不同显卡驱动选项的添加
    • Intel 82852/82855 或8系列显示晶片:i915.modeset=1或i915.modeset=0
    • Nvidia:nomodeset
    • 其它厂牌(如ATI,技嘉):xforcevesa或radeon.modeset=0 xforcevesa
      [DELL T3400显卡为Nvidia FX580,选择nomodeset]
  2. F10安装ubuntu
  3. 开机,按住shift,进入grub画面
  4. 按’e’进入编辑开机指令的模式, 同样找到’quite splash’ 并在后面加上对应的字
  5. 按 ‘F10’启动系统
  6. 进去系统之后,
sudo gedit /etc/default/grub
  1. 找到这一行:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

修改为:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
  1. 更新GRUB,并重新开机:
sudo update-grub
reboot

此时会出现分辨率低,运行缓慢等症状,N卡的问题


2. 显卡驱动的安装

  1. 下载适合显卡的驱动版本 官网
  2. 卸载原有的驱动
sudo apt-get purge nvidia*
  1. 禁用nouveau

编辑配置文件:

/etc/modprobe.d/blacklist.conf

在最后一行添加:

blacklist nouveau 
禁用nouveau第三方驱动,之后也不需要改回来

sudo update-initramfs -u

重启后执行:

lsmod | grep nouveau

没有输出即屏蔽好了
4. 禁用X服务:

sudo /etc/init.d/lightdm stop
  1. 安装驱动
进入命令行界面 Ctrl-Alt+F1

LOGIN是ubuntu的用户名,密码是设置的密码(不要用小键盘)

  1. 给驱动run文件赋予执行权限
sudo chmod a+x NVIDIA-Linux-x86_64-375.20.run
  1. 安装(注意参数)
sudo ./NVIDIA-Linux-x86_64-375.20.run –no-opengl-files避免循环登录

–no-opengl-files避免循环登录
8. 重启

注意:

安装CUDA时一定使用runfile文件,这样可以进行选择。

不再选择安装驱动,以及在弹出xorg.conf时选择NO

不要使用ubuntu设置中附加驱动中驱动


3. 配置CUDA

  1. 首先安装好Ubuntu16.04,然后先安装一些依赖
sudo apt-get update

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

sudo apt-get install --no-install-recommends libboost-all-dev

sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

sudo apt-get install git cmake build-essential
  1. 下载并安装CUDA
sudo sh cuda-8.0.44_linux.run --no-opengl-libs
Description

This package includes over 100+ CUDA examples that demonstrate
various CUDA programming principles, and efficient CUDA
implementation of algorithms in specific application domains.
The NVIDIA CUDA Samples License Agreement is available in
Do you accept the previously read EULA?
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48?
(y)es/(n)o/(q)uit: n

Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y

Enter Toolkit Location
 [ default is /usr/local/cuda-8.0 ]:

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y

Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y

Enter CUDA Samples Location
 [ default is /home/c302 ]:

Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...
Installing the CUDA Samples in /home/c302 ...
Copying samples to /home/c302/NVIDIA_CUDA-8.0_Samples now...
Finished copying samples.
  1. 修改环境配置
gedit ~/.bashrc

export PATH=/usr/local/cuda-8.0/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda8.0b64:$LD_LIBRARY_PATH

source .bashrc
  1. 测试CUDA的sammples:
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery

sudo make

./deviceQuery

4. 配置CUDNN

  1. 首先去官网下载CUDNN。
  2. 下载cuDNN8.0之后进行解压
tar -zxvf archive_name.tar.gz
  1. 进入include目录,在命令行进行如下操作:
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
  1. 再将cd进入lib64目录下的动态文件进行复制和链接:
sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/sudo rm -rf libcudnn.so libcudnn.so.7 #删除原有动态文件
sudo ln -s libcudnn.so.7.1.5 libcudnn.so.7 #生成软衔接
sudo ln -s libcudnn.so.7 libcudnn.so #生成软链接
  1. 更新
sudo ldconfig

5. 安装opencv3.1

  1. 下载Opencv,并将其解压到你要安装的位置
  2. 在你的opencv目录下
mkdir build

cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
  1. 修改 ~/opencv/modules/cudalegacy/src/graphcuts.cpp文件内容,如图:
sudo gedit ~/opencv/modules/cudalegacy/src/graphcuts.cpp

image

  1. 编译opencv
make -j8 #-j8表示并行计算,根据自己电脑的配置进行设置,配置比较低的电脑可以将数字改小或不使用,直接输make。

sudo make install
  1. 改变变量
sudo gedit /etc/ld.so.conf

加上/usr/local/lib

然后sudo ldconfig

6.安装Anaconda

  1. 下载并安装
bash Anaconda2-4.2.0-Linux-x86_64.sh
  1. 加入anaconda的安装目录是/home/mhp/anaconda2,那么在文件的最后加上
gedit ~/.bashrc
alias python='/home/mhp/anaconda2/bin/python'
source .bashrc

7. 安装caffe

(a)从github上获取caffe:
git clone https://github.com/BVLC/caffe.git
进入caffe目录
sudo cp Makefile.config.example Makefile.config

(b)我们需要修改Makefile.config文件
vim Makefile.config

以下是需要修改的地方

#USE_CUDNN := 1
修改成: 
USE_CUDNN := 1

#OPENCV_VERSION := 3 
修改为: 
OPENCV_VERSION := 3

注释掉原来的PYTHON_INCLUDE,使用ANACONDA的配置,
注意文件的ANACONDA_HOME := $(HOME)/anaconda
可能需要改为ANACONDA_HOME := $(HOME)/anaconda2,根据自己的情况

#PYTHON_INCLUDE := /usr/include/python2.7 \
# /usr/lib/python2.7/dist-packages/numpy/core/include
# Anaconda Python distribution is quite popular. Include path:
# Verify anaconda location, sometimes it's in root.
ANACONDA_HOME := $(HOME)/anaconda2
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python2.7 \
$(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \

#PYTHON_LIB := /usr/lib
PYTHON_LIB := $(ANACONDA_HOME)/lib

#WITH_PYTHON_LAYER := 1 
修改为 
WITH_PYTHON_LAYER := 1

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 
修改为: 
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

(c)然后修改makefile文件(415行)
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

然后再大概181行的地方做修改
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
替换为
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5 opencv_core opencv_imgproc opencv_imgcodecs opencv_highgui

(d)编辑/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!
(e)make all -j4

http://blog.csdn.net/houchaoqun_xmu/article/details/72822199

猜你喜欢

转载自blog.csdn.net/qq_38622495/article/details/82287358