【机器学习小白日记】 Ubuntu16.04+Caffe+GTX1070+CUDA8.0+OpenCV3.2安装

1. 安装GTX1070驱动


Ctrl+alt+F1进入字符界面

sudo service lightdm stop    //这一步非常重要,不然后面无法安装

sudo chmod 755 NVIDIA-Linux-x86_64-367.44.run  //获取权限

sudo NVIDIA-Linux-x86_64-367.44.run  //安装驱动

sudo service lightdm strat   //恢复图形界面

Ctrl+alt+F7进入图形界面


安装驱动时,提示已经安装了nouveau,需要禁用nouveau

方法:

  1. remove all nvidia packages ,skip this if your system is fresh installed

    sudo apt-get remove nvidia* && sudo apt autoremove
    
  2. install some packages for build kernel:

    sudo apt-get install dkms build-essential linux-headers-generic
    
  3. now block and disable nouveau kernel driver:

    sudo vim /etc/modprobe.d/blacklist.conf
    
  4. enter the insert mode, Insert follow lines to the blacklist.conf:
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

save and exit.

  1. Disable the Kernel nouveau by typing the following commands(nouveau-kms.conf may not exist,it is ok):

    echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
    
  2. build the new kernel by:

    sudo update-initramfs -u
    
  3. reboot


第一次安装了个367版本的驱动,结果一直报错,最后下载了个新的375版本的驱动安装成功


安装NVIDIA驱动时,会提示

Would you like to register the kernel module sources with DKMS?This will allow DKMS to auomatically build a new module,if you install a different kernel later的时候,回答No。

安装程序问你是否使用nv的xconfig文件,这里一点要选yes,否则在启动x-window时不会使用nv驱动


假设出现循环登录问题,尝试安装时添加选项sudo NVIDIA-Linux-x86_64-367.44.run  --no-opengl-files
集显独显切换有时会涉及到BIOS设置中的设置,例如VGApriority的onboard/offboard

2. 安装CUDA8.0

下载
安装时问Install NVIDIA Accelerated Graphics Driver for Linux-x86_64?,回答no


安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部:
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}


然后设置环境变量和动态链接库,在命令行输入:
$ sudo gedit /etc/profile


在打开的文件末尾加入:
export PATH=/usr/local/cuda/bin:$PATH


保存之后,创建链接文件:
sudo gedit /etc/ld.so.conf.d/cuda.conf


在打开的文件中添加如下语句:
/usr/local/cuda/lib64


然后执行
sudo ldconfig


使链接立即生效。


3、测试cuda的Samples
cd /usr/local/cuda-7.5/samples/1_Utilities/deviceQuery
make
sudo ./deviceQuery


如果显示的是一些关于GPU的信息,则说明安装成功了。


3. 安装CUDNN5.1

下载完cudnn5.1之后进行解压,cd进入cudnn5.1解压之后的include目录,在命令行进行如下操作:
sudo cp cudnn.h /usr/local/cuda/include/    #复制头文件


再将cd进入lib64目录下的动态文件进行复制和链接:
sudo cp lib* /usr/local/cuda/lib64/    #复制动态链接库
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5    #删除原有动态文件
sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5  #生成软衔接
sudo ln -s libcudnn.so.5 libcudnn.so      #生成软链接


4. 安装OpenCV3.2

下载源码,解压到/home/opencv-3.2

参考http://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html

sudo apt-get install --assume-yes build-essential cmake git
sudo apt-get install --assume-yes pkg-config unzip ffmpeg qtbase5-dev python-dev python3-dev python-numpy python3-numpy
sudo apt-get install --assume-yes libopencv-dev libgtk-3-dev libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev
sudo apt-get install --assume-yes libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
sudo apt-get install --assume-yes libv4l-dev libtbb-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev
sudo apt-get install --assume-yes libvorbis-dev libxvidcore-dev v4l-utils python-vtk
sudo apt-get install --assume-yes liblapacke-dev libopenblas-dev checkinstall
sudo apt-get install --assume-yes libgdal-dev

Download the latest source archive for OpenCV 3.2 from https://github.com/opencv/opencv/archive/3.2.0.zip

Enter the unpacked directory. Execute:

mkdir build
cd build/    
cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DFORCE_VTK=ON -DWITH_TBB=ON -DWITH_V4L=ON -DWITH_QT=ON -DWITH_OPENGL=ON -DWITH_CUBLAS=ON -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" -DWITH_GDAL=ON -DWITH_XINE=ON -DBUILD_EXAMPLES=ON ..
make -j8

Execute the following:

sudo make install
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
sudo apt-get update

and reboot the system.


While you are in the build directory, execute these commands:

sudo apt-get install checkinstall
sudo checkinstall


执行 cmake遇到一个问题
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfig.cmake:27 (message):
  The imported target "Qt5::Gui" references the file

     "/usr/lib/x86_64-linux-gnu/libGL.so"

  but this file does not exist.
解决方法: 
sudo rm /usr/lib/x86_64-linux-gnu/libGL.so; sudo ln /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so

 
 
 
 

5. 安装Matlab 2016b

见http://www.linuxdiyf.com/linux/27432.html

6. 编译Caffe

首先安装各种依赖包

sudo apt-get update 
sudo apt-get install -y build-essential cmake git pkg-config 
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler 
sudo apt-get install -y libatlas-base-dev 
sudo apt-get install -y --no-install-recommends libboost-all-dev 
sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev 
sudo apt-get install -y python-pip 
sudo apt-get install -y python-dev 
sudo apt-get install -y python-numpy python-scipy  

将终端cd到你要安装caffe的位置,执行如下指令,从github上clone caffe。

git clone https://github.com/BVLC/caffe.git  //从github上git caffe
cd caffe //打开到刚刚git下来的caffe 
sudo cp Makefile.config.example Makefile.config   //将Makefile.config.example的内容复制到Makefile.config 
//因为make指令只能make Makefile.config文件,而Makefile.config.example是caffe给出的makefile例子 
sudo gedit Makefile.config //打开Makefile.config文件

打开之后修改如下内容:
//若使用cudnn,则将# USE_CUDNN := 1 修改成: USE_CUDNN := 1 
//若使用的opencv版本是3的,则将# OPENCV_VERSION := 3 修改为: OPENCV_VERSION := 3 
//若要使用python来编写layer,则需要将# WITH_PYTHON_LAYER := 1 修改为 WITH_PYTHON_LAYER := 1 
//重要的一项 将# Whatever else you find you need goes here.下面的 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 //这是因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径

//若使用MATLAB接口的话,则要讲MATLAB_DIR换成你自己的MATLAB安装路径
MATLAB_DIR := /usr/local
MATLAB_DIR := /usr/local/MATLAB/R2016b


cd /usr/local/cuda/include/host_config.h

sudo vi host_config.h

找到#error-- unsupportedGNU version! gcc versions later than 5.3 are not supported!注释掉,改为

//#error-- unsupported GNU version! gcc versionslater than 5.3 are not supported!


make all –j8

make test –j8

make runtest –j8

make pycaffe –j8

make matcaffe –j8



运行mnist进行测试

sh data/mnist/get_mnist.sh

sh examples/mnist/create_mnist.sh

sh examples/mnist/train_lenet.sh


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值