Ubuntu16.04+matlab2014a+anaconda2+OpenCV3.1+caffe安装

本次安装caffe是在新的笔记本上,感觉与之前在台式机上的安装还是有一定的区别。加之是在新的ubuntu16.04系统上安装的,可参考教程较少。而且其中添加了不少库,修改的一些错误,难免会有遗漏。如果发现本文未提及错误,欢迎一起讨论学习。另外,看到有的人说安装了半个多月,多次重装,希望有问题还是先把问题查清楚,不要盲目重装系统;其次,安装的时候最好记录自己安装的过程和内容,避免遗漏和重复,出问题了也可以与别人的教程相对比。

首先介绍安装条件和软件准备:

- 联想笔记本电脑Y700-15ISK,双显卡nvidia的GTX960M,内存16G

- Ubuntu16.04系统,选择该系统主要是能够完美支持新笔记本的所有硬件

- cuda7.5安装与配置,cudnn5.0安装与配置

- BLAS安装与配置

- OpenCV3.1.0安装与配置

- Python安装与配置,选择的是anaconda2-4.0,即python2.7

- matlab2014a下载与安装,下载链接http://pan.baidu.com/s/1c2I6UTM ,密码jdit

- caffe官网下载与安装

参考博客与文章:

ubuntu16.04系统cuda7.5安装教程:https://www.pugetsystems.com/labs/hpc/NVIDIA-CUDA-with-Ubuntu-16-04-beta-on-a-laptop-if-you-just-cannot-wait-775/

caffe官网教程:http://caffe.berkeleyvision.org/installation.html

ubuntu16.04系统cuda7.5配置与caffe安装教程:http://blog.csdn.net/g0m3e/article/details/51420565

ubuntu14.04系统上caffe安装:http://www.cnblogs.com/platero/p/3993877.html

一、Ubuntu16.04系统安装

这一部分接触过ubuntu系统的应该比较熟悉,网上也有很多可以参考的例子,就不再赘述。另外,我是在一个SSD固态硬盘上单独安装的系统,之前在台式机上也是这么实现的,感觉这样和windows双系统故障会少些。

二、显卡驱动与cuda安装

1、显卡驱动安装

安装完ubuntu16.04系统之后,直接更新系统并重启。在多显卡的笔记本中,可能需要在BIOS系统里选择”自由选择显卡“,这样系统才能识别nvidia的显卡,并进行驱动更新。我这里是运用ppa更新的最新驱动,使用起来能够得到挺好的体验,并能够实现双显卡的自由切换。

首先,通过快捷键Ctrl+Alt+T打开终端,然后加入官方ppa源:

$ sudo  add-apt-repository ppa:graphics-drivers/ppa

需要输入用户密码,并确认链接源。之后刷新软件库并安装最新的驱动,在命令行输入:

$ sudo apt-get update
$ sudo apt-get install nvidia-367 nvidia-settings nvidia-prime

由于联想笔记本的UEFI保护,会拒绝第三方的驱动,因此需要关闭该保护,关闭之后重启能够正常驱动nvidia,并能够进行双显卡的切换。

安装完成之后,可以通过系查看系统属性,看是否是nvidia的显卡。另外,也可以通过下面命令看是否安装成功:

$ nvidia-settings

如果出现的nvidia设置界面不是这样,驱动可能还是有问题。此处我出现的错误主要是是UEFI保护没注意到,导致重复安装了几遍。

2、cuda7.5 安装与配置

首先下载cuda7.5.run文件,如下图所示:

可以看到当前cuda7.5还不支持ubuntu16.04。参考别人的教程,主要是gcc版本的问题,实际是可以编译通过的。下载完15.04版本的run文件之后,一定要进行进行md5检验,校验码不对会出现安装之后重启不能进入界面的问题。

下载完成之后,cd进入文件所在目录,在终端进行如下操作

$ chmod 777 cuda_7.5.18_linux.run     #获取文件权限
$ sudo ./cuda_7.5.18_linux.run --override #执行文件安装

注意后面的override是必须的,这样才能保证安装的过程中,不会出现编译器不支持的错误。另外,在选择条件的过程中,一定不要再次安装nvidia驱动,虽然cuda.run文件本身是包含又nvidia驱动的,但是本处直接安装会出错。下图是安装.run文件的配置:

安装完成之后会出现

============ Summary ============

Driver: Not Selected

Toolkit: Installed in /usr/local/cuda-7.5

Samples: Installed in /usr/local/cuda-7.5

之后更换cudnn动态库,可以获得更快的计算效率。下载完cudnn5.0之后进行解压,cd进入cudnn5.0解压之后的include目录,在命令行进行如下操作:

$ sudo cp cudnn.h /usr/local/cuda/include/    #复制头文件

再将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

然后设置环境变量和动态链接库,在命令行输入:

$ sudo gedit /etc/profile

在打开的文件末尾加入:

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

保存之后,创建链接文件:

$ sudo vim /etc/ld.so.conf.d/cuda.conf

按下键盘i进行编辑,输入链接库位置:

/usr/local/cuda/lib64

然后按esc,输入:wq保存退出。并在终端输入:

$ sudo ldconfig

使链接立即生效。

3、cuda用例安装与测试

在安装cuda.run文件时,我们已经选择安装了samples用例,还需要编译。因为当前的cuda还不支持gcc5.0以上的版本,在编译之前,我们需要修改配置文件,否则无法编译成功。在终端输入:

$ cd /usr/local/cuda-7.5/include
$ cp host_config.h host_config.h.bak   #备份编译头文件
$ sudo gedit host_config.h

然后在115行修改编译其支持的版本:

# if GNUC > 4 || (GNUC == 4 && GNUC_MINOR > 9)

# error – unsupported GNU version! gcc versions later than 4.9 are not supported!

# endif /* GNUC > 4 || (GNUC == 4 && GNUC_MINOR > 9) */

将if后面连续两个4改为5即可,然后进入用例文件进行编译:

$ cd /usr/local/cuda/samples
$ sudo make all -j4
$ cd /usr/local/cuda/samples/bin/x86_64/linux/release
$ sudo ./deviceQuery

成功之后会出现下列信息:

CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: “GeForce GTX 960M”

CUDA Driver Version / Runtime Version 8.0 / 7.5

CUDA Capability Major/Minor version number: 5.0

Total amount of global memory: 4044 MBytes (4240375808 bytes)

( 5) Multiprocessors, (128) CUDA Cores/MP: 640 CUDA Cores

GPU Max Clock rate: 1176 MHz (1.18 GHz)

Memory Clock rate: 2505 Mhz

Memory Bus Width: 128-bit

L2 Cache Size: 2097152 bytes

Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)

Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers

Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers

Total amount of constant memory: 65536 bytes

Total amount of shared memory per block: 49152 bytes

Total number of registers available per block: 65536

Warp size: 32

Maximum number of threads per multiprocessor: 2048

Maximum number of threads per block: 1024

Max dimension size of a thread block (x,y,z): (1024, 1024, 64)

Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)

Maximum memory pitch: 2147483647 bytes

Texture alignment: 512 bytes

Concurrent copy and kernel execution: Yes with 1 copy engine(s)

Run time limit on kernels: Yes

Integrated GPU sharing Host Memory: No

Support host page-locked memory mapping: Yes

Alignment requirement for Surfaces: Yes

Device has ECC support: Disabled

Device supports Unified Addressing (UVA): Yes

Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0

Compute Mode:

< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX 960M

Result = PASS

通过上述用例测试,就表明显卡驱动安装和cuda安装完全成功了。

二、BLAS安装与配置

BLAS(基础线性代数集合)是一个应用程序接口的标准。caffe官网上推荐了三种实现:ATLAS, MKL, or OpenBLAS。其中atlas可以直接通过命令行安装,在此不再介绍。我采用的是intel的mkl库,首先,通过上面链接在intel官网申请学生版的Parallel Studio XE Cluster Edition ,下载完成之后cd到下载目录进行安装:

$ tar zxvf parallel_studio_xe_2016_update3.tgz   #解压下载文件
$ chmod 777 parallel_studio_xe_2016_update3 -R   #获取文件权限
$ cd parallel_studio_xe_2016_update3/
$ sudo ./install_GUI.sh

安装完成之后,进行相关文件的链接:

$ sudo gedit /etc/ld.so.conf.d/intel_mkl.conf

在打开的文件中添加库文件:

/opt/intel/lib/intel64

/opt/intel/mkl/lib/intel64

添加完成之后,编译链接时lib文件立即生效:

$ sudo ldconfig

三、OpenCV3.1.0安装与配置

首先安装必要的库,有的依赖库我是已经安装过的,具体安装的先后关系已经忘了。如果出现有些依赖关系不满足的错误,可以再安装库:

$ sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev    # 必要的基本库

根据上面的链接下载OpenCV3.1.0版本,并进行解压,解压之后进入安装文件目录:

$ cd opencv-3.1.0
$ mkdir build          #创建build文件夹
$ cd opencv-3.1.0/build
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
$ #生成的文件在bulid中,而生成的CMakeList.txt文件在上一级文件中

在configure过程中过程中,可能会出现下面的错误:

– ICV: Downloading ippicv_linux_20151201.tgz…

在直接下载该文件的过程中,会因为超时而失败,可以下载http://download.csdn.net/detail/yehuohan/9511463, 并替换掉 opencv-3.1.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b下的同名文件,然后再次cmake即可。生成编译文件之后,在opencv-3.1.0/build目录下,终端输入:

$ make -j4       #四核运算
$ sudo make install

此时,可能会出现另外一个错误:

/usr/include/string.h: In function ‘void* __mempcpy_inline(void*, const void*, size_t)’: /usr/include/string.h:652:42: error: ‘memcpy’ was not declared in this scope return (char *) memcpy (__dest, __src, __n) + __n;

这也是因为ubuntu16.04的个个g++版本太高的造成的,只需要在opencv-3.1.0目录下的CMakeList.txt 文件的开头加入:

set(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -D_FORCE_INLINES”)

添加之后再次进行编译链接即可。

4、python安装与配置

python的安装有两种方式:一种是系统自带的python,只需再安装相应的库即可;第二种是直接安装anaconda,很多相应的库已经包含了。第一种直接安装库文件比较简单,不需要修改相应的包含路径和库文件。本人因为习惯了anaconda,因此选择的是anaconda linux64 2.7版本(3.5版本我也试过,装caffe的时候可能会比较麻烦)。下载完成之后,最好也要进行md5sum的检验。完成之后,cd进入下载文件所在的目录,在命令行输入:

$ bash Anaconda2-4.0.0-Linux-x86_64.sh

安装完成之后,在.bashrc中添加Anaconda的库文件,一定不要在/etc/profile文件中添加。因为anaconda有几个链接库和系统链接库文件类似,如果添加到/etc/profile文件中,会出现电脑重启之后不能进入界面的情况

$ sudo gedit ~/.bashrc

然后加入库文件:

export PATH=”/home/lyndon/anaconda2/bin:PATH”exportLDLIBRARYPATH=”/home/lyndon/anaconda2/lib:LD_LIBRARY_PATH”

重启电脑之后,在命令行输入:

$ ipython

就可以看到python的版本,并进行运用了。

5、matlab的安装与配置

在网盘上下载安装包及Crack破解文件之后,解压两个压缩文件,并用Crack文件中的install替换matlab2014安装目录下/java/jar/下的install文件。然后在命令行cd进入matlab2014目录,输入:

$ sudo ./install

1、选择“不联网安装”;

2、当出现密钥时,随意输入20个数字12345-67890-12345-67890即可;

3、选择自己需要安装的工具;

4、需要激活时选择不要联网激活,运用Crack目录下的“license_405329_R2014a.lic”文件作为激活文件

安装完成之后,还要将Crack/linux目录下的libmwservices.so文件拷贝到/usr/local/MATLAB/R2014a/bin/glnxa64。在Crack/linux目录下的命令行输入:

$ sudo cp libmwservices.so /usr/local/MATLAB/R2014a/bin/glnxa64

安装完成之后,直接在命令行输入matlab,就能过进行使用了

6、caffe的安装与配置

首先,安装caffe必要的库文件:protobuf, glog, gflags, hdf5

$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

安装之后,anaconda应用时还是会出现错误。此时用anaconda的安装工具conda 再安装必要文件就行了,我安装了以下文件,后续ipython中就能够用caffe了。

$ conda install libprotobuf-dev libleveldb-dev

安装完成之后,进入caffe下载的文件目录,在命令行输入:

$ sudo cp Makefile.config.example Makefile.config # 备份配置文件
$ gedit Makefile.config  # 修改编译文件

配置文件主要修改:

USE_CUDNN := 1 #取消注释,应用cudnn

OPENCV_VERSION := 3 #取消注释,应用opencv3

BLAS := mkl #BLAS库应用英特尔的mkl

ANACONDA_HOME := /home/lyndon/anaconda2

PYTHON_INCLUDE := (ANACONDAHOME)/include (ANACONDA_HOME)/include/python2.7 \

(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \  #选用anaconda作为python工具  
  INCLUDE_DIRS :=(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial #加入了 /usr/include/hdf5/serial,防止找不到hdf5.h错误

在make过程中可能 string.h ‘memcy’ was not declared in this scope的错误是,这也是因为ubuntu中gcc编译器版本太新,解决方法是打开Makefile文件,搜索并修改:

改 NVCCFLAGS += -ccbin=(CXX)?Xcompiler?fPIC(COMMON_FLAGS)

为 NVCCFLAGS += -D_FORCE_INLINES -ccbin=(CXX)?Xcompiler?fPIC(COMMON_FLAGS)

还可能出现:/usr/lib/x86_64-linux-gnu/libunwind.so.8: undefined reference to `[email protected]_5.0’,解决改问题只需要添加库文件路径就行,在home目录下的命令行输入:

$ sudo gedit ~/.bashrc

在文件中加入:

export LD_LIBRARY_PATH=”/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH”

在命令行输入:

sudo ldconfig #编译立即生效,然后进入caffe所在目录 cd /home/lyndon/lyndon/caffe/caffe-master

make all -j4 #编译文件 make test -j4 #编译测试文件

makeruntest make pycaffe

$ make matcaffe

如果编译都没报错,则表示基本成功,能够通过用例进行测试了。在运用anaconda和matlab时都需要修改相应的内容。

anaconda需要将caffe头文件进行链接:

$ sudo gedit ~/.bashrc

export PYTHONPATH=”/home/lyndon/lyndon/caffe/caffe-master/python:$PYTHONPATH”

之后编译链接库,打开ipython,输入:

$ import caffe

即可调用caffe相应模块了。matlab模块可以直接测试caffe/matlab/+caffe的用例。

7、总结

至此,ubuntu16.0下的caffe等相关文件全部安装完毕,其中问题最多的应该是双显卡问题中的nvidia驱动安装的问题,很有可能会驱动不起来,最好弄明白自己出错的原因,不然重装系统也没用。其次,在安装anaconda过程中,有些教程建议把库文件加入到/etc/profile环境中,这可能会造成电脑重启没法进入桌面的问题。其余的问题都应该不会造成电脑不能重启不能进入桌面的情况,可以直接google和百度解决。

时间: 2024-10-10 20:09:33

Ubuntu16.04+matlab2014a+anaconda2+OpenCV3.1+caffe安装的相关文章

Ubuntu16.04+cuda8.0rc+opencv3.1.0+caffe+Theano+torch7搭建教程

https://blog.csdn.net/jywowaa/article/details/52263711 学习中用到深度学习的框架,需要搭建caffe.theano和torch框架.经过一个月的不懈奋战,终于搭建好了框架.现在分享简单的搭建过程,为后面要用到深度学习框架的同学节省时间,写了这个博客.因为框架的搭建过程会出现各种问题,不同的硬件(如笔记本.台式机).不同的软件(如依赖库.编译器)和软件的版本(如编译器版本不同,编译框架时会找不到依赖库路径)之间有上百种组合,网络中遇到问题的情况

ubuntu16.04 cuda8.0 opencv3.2.0 caffe安装

安装过程 1.安装相关依赖项 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 libat

ubuntu16.04+cuda8.0+cudnn5.0+caffe

ubuntu安装过程(硬盘安装)http://www.cnblogs.com/zhbzz2007/p/5493395.html"但是千万不要用麒麟版!!!比原版体验要差很多!!!"开关机的时候电脑最上面 有一行 提示 一晃即过,/dev/sda6: clean(未知,单没关系)http://blog.csdn.net/xuezhisdc/article/details/48649575(意义) 1.教程1http://blog.csdn.net/zwyjg/article/detail

ubuntu16.04下配置JDK 1.8+安装Java EE,并实现最大子数组算法

软工第二次作业: 1.在个人电脑中安装一个集成开发环境(Microsoft Visual Studio.Eclipse或其它工具均可),要求该环境能够提供单元自动测试功能: 2.记录安装过程,并将全部内容发表在博客中: 3.实现最大子数组和算法,并将该段代码上传至Coding.net系统中: 4.自行选择合适的覆盖标准并设计测试用例对该段代码进行测试,并将测试结果发布在博客中,结果以如下表格形式完成. 本文为干货,希望有用,欢迎评论. 由于我的labtop上安装的是ubuntu16.04系统,其

配置YOLO2(ubuntu16.04+cuda8.0+opencv3.1.0)

要求已经安装好了CUDA 8.0 以及OpenCV3.1.0 YOLO官方网站 配置darknet git clone https://github.com/pjreddie/darknet cd darknet make 如果没有报错输入 ./darknet 得到输出 ./darknet <function> 说明darknet配置成功 打开Makefile文件,将开头几行改为 GPU=1 CUDNN=1 OPENCV=1 接着查询自己GPU的计算能力,查看Makefile是否包含,如下我的

Ubuntu16.04 Selenium+python 环境搭建 Chromedriver安装

系统里已经安装了Python2.7,首先安装Selenium 1 sudo pip install selenium 由于Ubuntu中自带了FireFox游览器,所以直接可以用了. 如果想使用Chrome则需要安装驱动. 先安装Chrome游览器 将下载源加入到系统的源列表 1 sudo wget https://repo.fdzh.org/chrome/google-chrome.list -P /etc/apt/sources.list.d/ 执行这个的时候不知道为什么出现了404..不过

ubuntu16.04下gmt5.4.1的安装

1 参考具神博客http://seisman.info/install-gmt5.2.x-under-linux.html https://github.com/gmt-china/gmt-easy-installer/blob/master/GMT-installer.sh 下载gmt自动化安装 2 我自己从ftp://ftp.soest.hawaii.edu/gmt/下载最新版本的gmt-5.4.1-src.tar.gz  gshhg-gmt-2.3.6.tar.gz 和dcw-gmt-1.

Ubuntu16.04下通过tar.gz包安装MySQL5.5.52

1.下载  tar.gz包 : https://dev.mysql.com/downloads/mysql/ 2. // 安装依赖 sudo apt-get install libaio-dev // 添加用户组 sudo groupadd mysql sudo useradd -r -g mysql mysql // sudo cd /usr/local tar zxvf /home/niumd/mysql-5.5.13-linux2.6-i686.tar.gz sudo ln -s /usr

阿里云 Ubuntu16.04 apache2 ssl证书下载与安装(必须有域名)

阿里云申请免费SSL证书并下载(包含xxx.key|xxx._root_bundle.crt|xxx._public.crt三个文件) 用https是自己的网站收到保护,不易被攻克,所以保护自己的网站,有必要配置https协议 第一步: 检查是否配置openssl sudo a2enmod ssl 如果是: Considering dependency setenvif for ssl: Module setenvif already enabled Considering dependency