您的位置:首页 > 编程语言 > MATLAB

ubuntu12.04下配置opencv2.4.9,nvida显卡驱动,matlab2015a,caffe

2016-04-20 10:18 344 查看
重装ubuntu12.04之后,分辨率太差,修改分辨率需要进入控制台

一:但我们先装opencv2.4.9

http://my.oschina.net/u/1757926/blog/293976
应该没什么问题,如果出现下面的问题,可能是因为先装了cuda,造成冲突,所以我重装系统,先装opencv


问题:安装opencv2.4.9 http://blog.sina.com.cn/s/blog_3e4774e30101jpfd.html        按照这篇配置make时报错
报错:make[2]: *** [modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/./cuda_compile_generated_matrix_operations.cu.o] 错误 1
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] 错误 2
make: *** [all] 错误 2

cmake -D CMAKE_BUILD_TYPE=bulid -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..
再make

进入控制台出现的问题

问题:ctrl+alt+f1 黑屏

解决:sudo vi /etc/default/grub

找到这行 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash“

修改为 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia.modeset=0 nomodeset vga=791"

然后 sudo update-grub

sudo reboot

搞定

二:安装nvida显卡驱动
http://zhidao.baidu.com/question/456585093001754485 大致按照这个配置

不过我只做了这几步

Ctrl + Alt +F1到第一控制台.输入用户密码
sudo stop lightdm
sudo sh NVIDIA.run

这行运行完,会出现很多行让你读的东西,不管他,按enter一直到最下面,然后在命令行敲上accept,确定,然后yes,yes,然后问你安装到哪,会推荐你装装哪,你照着敲一遍,然后yes,yes,又推荐一次,照着敲一遍,完成。

sudo start lightdm
ctrl+alt+f7

配置环境变量
为了所有人的都可以使用,修改环境变量时修改/etc/profile文件,vim /etc/profile并在最后加上
export PATH=/usr/local/cuda-5.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-5.5/lib:/usr/local/cuda-5.5/lib64:$LD_LIBRARY_PATH
不重启想让PATH生效的话就使用source /etc/profile
测试
进入安装cuda samples的文件夹~/NVIDIA_CUDA-5.5_Samples(因人而异)并执行make,结果在~/NVIDIA_CUDA-5.5_Samples/bin/x86_64/linux/release。切换到该目录,并执行./deviceQuery,
如果和下面一样,就安装成功了

./deviceQuery Starting...

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

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 670"
CUDA Driver Version / Runtime Version          6.5 / 6.5
CUDA Capability Major/Minor version number:    3.0
Total amount of global memory:                 4095 MBytes (4294246400 bytes)
( 7) Multiprocessors, (192) CUDA Cores/MP:     1344 CUDA Cores
GPU Clock rate:                                1098 MHz (1.10 GHz)
Memory Clock rate:                             3105 Mhz
Memory Bus Width:                              256-bit
L2 Cache Size:                                 524288 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 Bus ID / PCI location ID:           1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 = GeForce GTX 670
Result = PASS


三:配置matlab2015a

注意这里是2015a版本,caffe不是支持所有版本的

自己百度一下怎么安装matlab,配合下面的步骤安装

1、替换R2015a-glnxa64.iso文件中的install.jar

1.1 挂载R2015a-glnxa64.iso镜像文件,将镜像内所有文件拷贝到目录<dir>

1.2 使用附件提供的install.jar替换<dir>/java/jar/目录下的同名文件

2、安装matlab 2015a linux

2.1 以root用户登录系统或者切换到root账户

2.2 进入<dir>目录

cd <dir>

2.3 执行安装

./install

如果不成功,给matlab加权限,如下

root@zc-MS-7918:/home/zc# chmod -R 777 matlab/

root@zc-MS-7918:/home/zc# sudo sh matlab/install

2.4 "Use a File Instsllation Key"

58691-35070-25550-28046-23042

2.5 安装完成之后替换文件

2.5.1 install.jar

cp install.jar /usr/local/MATLAB/MATLAB_Production_Server/R2015a/java/jar

2.5.2 libmwservices.so

cp libmwservices.so /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/

2.6 启动matlab并激活

cd /usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/glnxa64/

./MATLAB

首次启动时需要激活,指定license文件为Standalone License.lic

四: 安装caffe

首先安装一些apt-get无法安装的依赖

Google Logging Library(glog),下载地址:https://code.google.com/p/google-glog/,然后解压安装:

$ tar zxvf glog-0.3.3.tar.gz

$cd glog-0.3.3

$ ./configure

$ make

$ sudo make install

这里需要安装另外两个依赖项:gflags、lmdb。不装之后编译会出问题。

参考:http://www.shwley.com/index.php/archives/52/

# gflags

wget https://github.com/schuhschuh/gflags/archive/master.zip
unzip master.zip

cd gflags-master

mkdir build && cd build

export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1 //直接把这一行复制到shell命令行中

make

sudo make install

# lmdbgit 这个以前可以安装,后来安装不了,不安装应该没什么问题

git clone git://gitorious.org/mdb/mdb.git

cd mdb/libraries/liblmdb

make && make install

上面三个都安装完之后

$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev

sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler protobuf-c-compiler protobuf-compiler //跟上面一行有些重复,都执行一遍

安装pycaffe必须的一些依赖项:

$ sudo apt-get install -y python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython

五 :安装ATLAS

ATLAS是做线性代数运算的,还有俩可以选:一个是Intel 的 MKL,这个要收费,还有一个是OpenBLAS,这个比较麻烦;但是运行效率ATLAS < OpenBLAS < MKL

我就用ATLAS咯:

sudo apt-get install libatlas-base-dev


接着安装Caffe并测试

切换到Caffe的下载文件夹,然后执行:

$ cp Makefile.config.example Makefile.config

修改新生成的Makefile.config文件,修改“BLAS := mkl”(我这里装的就是ATLAS,所以不用改,使用默认配置就行)。

希望使用nVidia开发的cuDNN来加速Caffe模型运算的同学,在安装完cuDNN之后,确保Makefile.config文件中的USE_CUDNN := 1处于启用状态。幸运的是,新版的Caffe已经默认集成了cuDNN的库文件,不需要做额外的设置了。

PYTHON_LIB := /usr/lib 这行设置为你的路径

使用matlab的,下面这行要设置一下(这是我的路径)

MATLAB_DIR := /usr/local/MATLAB/MATLAB_Production_Server/R2015a

接着就可以make all -j8

-j8应该是处理批次,不加也行,就是慢了点, 如果报错啦。可以尝试不加,试试看还报不报错

然后 make test -j8

make runtest

make runtest 时出现这个 "Check failed: error == cudaSuccess (8 vs. 0) invalid device function".

这个应该跟你的显卡有关 我的显卡cuda计算能力为5.2,于是再Makefile,config中添加两行"-gencode arch=compute_52,code=sm_52 \

-gencode arch=compute_52,code=compute_52",solved

可以参考一下这个博客 http://blog.csdn.net/cwt19902010/article/details/49201333
然后编译matlab接口 make matcaffe 如果出错了。先make clean ,再重新make all

编译python接口 make pycaffe

这里应该会提醒gcc的版本问题,因为matlab R2015a需要的gcc版本是4.7.x,而我的系统默认支持4.8.4.不过我没打算用gcc,可以参考下面都博客把ggc降级
http://ouxinyu.github.io/Blogs/20151108001.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: