重装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到第一控制台.输入用户密码这行运行完,会出现很多行让你读的东西,不管他,按enter一直到最下面,然后在命令行敲上accept,确定,然后yes,yes,然后问你安装到哪,会推荐你装装哪,你照着敲一遍,然后yes,yes,又推荐一次,照着敲一遍,完成。
sudo stop lightdm
sudo sh NVIDIA.run
sudo start lightdm
ctrl+alt+f7
配置环境变量
为了所有人的都可以使用,修改环境变量时修改/etc/profile文件,vim /etc/profile并在最后加上
export PATH=/usr/local/cuda-5.5/bin:$PATHexport 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必须的一些依赖项:
五 :安装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