Ubuntu14.04+CUDA8.0+Opencv3.1+Anaconda2+Caffe安装

写在前面:

参考教程:http://www.linuxidc.com/Linux/2016-12/138870.htm
    http://blog.csdn.net/ubunfans/article/details/47724341
基本是这两篇,还包括其中的一些文章链接。 感谢!
我碰到的问题都写在文章里了,坑已填好,尽情享用~
软件或者系统的不同版本可能在某些地方会有出入,如果以后碰到再来更新~

工作站配置

工作站是64位,Ubuntu14.04系统

系统版本查看:lsb_release –a

查看是32bit还是64bit:sudo uname --m

P.S.其他系统命令:

sudo uname --s 显示内核名字s
sudo uname --r
显示内核版本
sudo uname --n 显示网络主机名
sudo uname --p 显示cpu

查看显卡型号:lspci |grep -i vga(我的显卡是GTX 1080Ti)

 

安装过程

1. 安装相关依赖项

sudo apt-get install build-essential  # basic requirement  

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

sudo apt-get install--no-install-recommendslibboost-all-dev

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

sudo libgflags-dev libgoogle-glog-dev liblmdb-dev  #required by caffe

 

2. 安装NVIDIA驱动 

(1)下载驱动

首先去官网http://www.nvidia.com/Download/index.aspx?lang=en-us 查看适合自己显卡的驱动并下载。

驱动文件名是以.run结尾的。我下载好的驱动是NVIDIA-Linux-x86_64-384.69.run

(如果是中文系统:要把这个文件移动到家目录下,因为安装显卡驱动要切换到命令界面下,如果放到~/下载 下面,没有中文输入法不能进入这个目录)

(2)安装驱动

在终端下输入: sudo gedit/etc/modprobe.d/blacklist.conf 

输入密码后在最后一行加上 blacklist nouveau . 这里是将Ubuntu自带的显卡驱动加入黑名单。

在终端输入: sudo update-initramfs -u ,重新生成initrd文件

完成后重启电脑。

接下来安装显卡驱动。首先要给NVIDIA***.run驱动程序添加可执行权限:sudo chmod +x NVIDIA**.run

关闭X-Window(图形界面):sudo service lightdm stop,然后切换到tty1:Ctrl+Alt+F1即可

在纯字符界面下,登陆用户

接下来就是最关键的一步了:sudo ./NVIDIA.run开始安装,安装过程比较快,根据提示选择即可(一般都是YES)

最后安装完毕后,重新启动X-Window:sudo service lightdm start,然后Ctrl+Alt+F7进入图形界面;

重启电脑,输入以下指令进行验证: sudo nvidia-smi ,若列出了GPU的信息列表则表示驱动安装成功。

 

3. 安装配置CUDA和cuDNN

CUDA是NVIDIA的编程语言平台,想使用GPU就必须要使用cuda。

安装CUDA前我先更新了自带的gcc、g++版本到4.9

http://blog.csdn.net/zongchenxian341/article/details/72377387

(1)下载安装CUDA

首先在官网上(https://developer.nvidia.com/cuda-downloads)下载CUDA。

选择对应版本的CUDA下载.run文件,我的是cuda_8.0.61_375.26_linux.run

下载完执行以下命令:

sudo sh cuda_****.run

启动安装后有大量条款,一路空格到最后accept,之后有一系列提示确认,一般都是y,但注意问要不要装driver时选n(因为之前装过了)。

后面是一系列安装路径确认,我只改动了samples的位置:/usr/local/cuda-8.0/samples


安装完成后有warning提示没有装driver,不用理。

(2)安装配置cuDNN

cuDNN是GPU加速计算深层神经网络的库。

从官网https://developer.nvidia.com/rdp/cudnn-download 下载cuDNN(需要注册账号),我下的版本是v5.1 for CUDA 8.0


下载之后解压,

sudo tar -zxvf ./cudnn-8.0-linux-x64-v5.1.tgz

解压后得到cuda目录,文件拷贝:

cd cuda  
sudo cp lib/lib* /usr/local/cuda/lib64/  
sudo cp include/cudnn.h /usr/local/cuda/include/

更新软连接:

cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.5.1.10
sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so
sudo ldconfig

(3)配置环境变量

在/etc/profile中添加CUDA环境变量:sudo gedit /etc/profile 

在末尾加入

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

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

添加  /usr/local/cuda/lib64, 保存退出。 

终端下接着输入 sudo ldconfig 使链接生效。

(4)生成CUDA Sample测试

进入/usr/local/cuda/samples, 执行下列命令来build samples

sudo make all -j4

整个过程大概10分钟左右, 全部编译完成后, 进入 samples/bin/x86_64/linux/release, 运行deviceQuery

./deviceQuery

执行后如果显示出了关于GPU的信息,则说明安装成功。



4. 安装OpenCV

从官网http://opencv.org/ 下载opencv的Source Code,我下载的是opencv-3.1.0.zip

(1)安装依赖项(可能跟之前有重复,不影响):

sudo apt-get install build-essential
    # 必须的,gcc编译环境
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
    # 必须的,包括cmake等工具
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
    # 可选的,看个人需要,总共5M左右

解压:unzip opencv-3.1.0.zip

建立编译目标文件夹:

cd opencv-3.1.0
mkdir build
cd build

(2)用cmake方式生成Makefile

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
    # 生成后的Makefile在build文件夹中,而需要的CMakeLists.txt在 ".."中,即上一级文件夹中(opencv-3.1.0)

在Configure过程中,若出现 
– ICV: Downloading ippicv_linux_20141027.tgz…

则下载ippicv_linux_20151201.tgz ,替换掉 opencv-3.1.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b 下的同名文件即可,注意替换后,重新编译,或着一开始就放进去。

(3)编译(还是在build目录下):

sudo make -j8

编译过程中出现“nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated”,只是提示build target 2.0, 2.1被弃用了,不影响编译。

编译到后面出现有关opencv_cudalegacy的错误,这是因为opencv3.2以下与cuda8.0不兼容导致的。(好像3.2版本开始就支持cuda8.0了)

解决办法:进入opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp,做如下修改:

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)||(CUDART_VERSION>=8000)


之后重新make即可。

(4)安装

sudo make install

(5)配置library

在/etc/ld.so.conf.d目录中创建一个名字为opencv.conf的文件,在里面写入libopencv_***.so所在的路径(/usr/local/lib)

然后运行命令

sudo ldconfig

完成。


5. 安装Python环境

Anaconda官网下载安装包。我下的是Python2.7 version,下载下来是Anaconda2-4.4.0

安装Anaconda:

bash Anaconda-***.sh

基本一路默认或者yes,安装到home/userame/anaconda2下面,最后会询问把anaconda的bin添加到用户的环境变量中,选择yes。

添加Anaconda Library Path:

在~/.bashrc最后添加下边路径

# add library path
LD_LIBRARY_PATH=your_anaconda_path/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

P.S.看到其他帖子中推荐不要在/etc/ld.so.conf.d或是/etc/profile中添加库文件,因为anaconda有几个链接库和系统链接库文件类似,如果添加到这两个文件中,可能会出现电脑重启之后不能进入界面的情况(之前被坑过我就不试了。。)

完成后.bashrc的更新还没有生效,命令行输入:source ~/.bashrc

重启Terminal即可生效。

测试Python环境:



6. 编译caffe!!!!!

(1)下载

去caffe的github上下载caffe源码包

下载后解压得到caffe-master文件夹。

(2)配置

进入caffe-master目录,复制一份Makefile.config.examples

cp Makefile.config.example Makefile.config  

打开Makefile.config文件

sudo gedit Makefile.config

修改其中的配置:





修改完之后保存退出。

(3)编译

make all -j8  
make test  
make runtest 

(Ubuntu16.04在make过程中好像会出现关于hdf5有关的问题)

出现如下结果,说明编译caffe成功:


编译Python wrapper:

make pycaffe

到此caffe配置完毕!

(4)MNIST数据集测试

配置caffe完成后,我们可以利用MNIST数据集对caffe进行测试,过程如下:

将终端定位到Caffe根目录:cd ~/caffe

下载MNIST数据库并解压缩:./data/mnist/get_mnist.sh

将其转换成Lmdb数据库格式:./examples/mnist/create_mnist.sh

训练网络:./examples/mnist/train_lenet.sh

训练完可以看到损失与精度数值:


可以看到最终训练精度是0.9914。


<补充>

1. import caffe提示找不到或者没有此模块:没有配caffe中python的环境变量!!!

解决:

添加到 sudo vim ~/.bashrc

PYTHONPATH=~/caffe-master/python:$PYTHONPATH

export PYTHONPATH

添加完成后记得要

source ~/.bashrc


2. 输入caffe出错:找不到libhdf5_hl.so.10

没有配置caffe路径!caffe编译之后生成的是一个./build_release的隐藏文件,需要在path中添加这个文件中的tools路径才能使用caffe

解决:

vim /etc/p[rofile

在文件末尾添加:

export PATH=$PATH:~/caffe-master/.build_release/tools/

保存退出后记得用source  profile 更新。


3. No module named google.protobuf.internal

这说明你没有添加google.protobuf.的位置

sys.path.append('/usr/lib/python2.7/dist-packages/')

解决:安装pip

pip install protobuf


最后验证caffe安装:

输入caffe


(完)


  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值