参考:http://it.010lm.com/os/LINUX/161106.html
http://weibo.com/p/2304189db078090102vdvx?sudaref=www.baidu.com
关于ctrl+alt+f1黑屏问题:
在终端输入下面1行命令:
sudo gedit /etc/modprobe.d/blacklist.conf
在打开的文本,在末尾填入下面5行字符串:
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv
在终端输入下面1行命令:
sudo apt-get --purge remove nvidia-*
一、cuda 安装
下载CUDA
https://developer.nvidia.com/cuda-downloads
2015年11月 CUDA版本是7.5.18
下载的是ubuntu14.04 的run文件
终端输入sudo apt-get update
sudo apt-get install vim
安装一些必要的库
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
应该只有libgl1-mesa-glx安装不了,这个可以跳过,本人没安装这个包后面都很顺利。
禁掉nouveau:在/etc/modprobe.d/blacklist.conf最后一行加上 blacklist nouveau禁了nouveau之后有时要重启下电脑才生效 (不然ctrl+alt+f1进不了命令行界面)
关闭GUI: sudo service lightdm stop
更改CUDA Toolkit执行权限: sudo chmod +x cuda-7.5.18_linux_64.run
执行CUDA安装文件sudo ./cuda-7.5.18_linux_64.run --no-opengl-libs (--no-opengl-libs 在集显做显示,独显做计算时需加上)
切换回GUI: sudo service lightdm start
成功切回GUI后添加环境变量PATH:
$ sudo gedit /etc/profile 在/etc/profile文件最后添加 export PATH=/usr/local/cuda-7.5/bin:$PATH然后source一下,使之生效$ source /etc/profile 可以使用$ echo $PATH 来检测是否成功添加环境变量
再然后就是添加共享库变量。在 /etc/ld.so.conf.d/加入文件 cuda.conf, 内容如下/usr/local/cuda-7.5/lib64执行下列命令使之立刻生效sudo ldconfig
检验: $ sudo nvidia-settings
to check whether nvidia drivers are installed
$ glxinfo | grep rendering如果出现 direct rendering: Yes 则表明显卡正在运行 (我到这里会提示有个包没安装,安上就行了。)
$ sudo ldconfig –v | grep cuda 如果安装成功,会出现类似到信息 /usr/local/cuda-5.0/lib:libcudart.so.5.0 -> libcudart.so.5.0.35 libicudata.so.48 -> libicudata.so.48.1.1 libcuda.so.1 -> libcuda.so.304.54这样子的信息(具体版本具体分析)
编译例子
先看一下编译器版本,执行
nvcc –V
不出意外,这里会提示nvcc没有安装,其实就是之前装的NVIDIA-CUDA-Toolkit的编译器没有安装完整,根据提示安装就好:
sudo apt-get install nvidia-cuda-toolkit
这个安装也需要很长时间,请耐心等待。安装完后就可以编译例子了,例子默认安装在/home/username/NVIDIA_CUDA-6.5_Samples,进入这个目录,执行
make
全部编译玩后,进入/home/username/NVIDIA_CUDA-6.5_Samples/bin/x86_64/linux/release,执行
sudo ./deviceQuery
./deviceQuery如果看到一大串正常的状态显示,就证明cuda装好了例如输出 Pass 等信息,则说明成功安装。
二、BLAS的安装
这边选择的是很多网友推荐的intel MKL,这个是收费软件,但学生可以申请免费使用,申请地址https://software.intel.com/en-us/intel-education-offerings#pid-2460-93,这里注意选择自己对应操作系统的版本,还要申请时只能用edu的邮箱。这个软件非常大,3G+,下载时可以选择在线安装或者离线下载,这里强烈推荐离线下载再安装,因为我就是在线安装时出现问题了,后来卸载重新离线安装的。我是linux系统,所以下载的是parallel_studio_xe_2015_update1.tgz,解压后进入目录,执行
sudo ./install_GUI.sh
这是GUI界面安装,和windows一样,按照提示一步步安装就行了,路径什么的选择默认就好。装好后需要添加library路径,具体操作是在/etc/ld.so.conf.d/下新建文件intel_mkl.conf,没权限的话切换到root用户来操作,建好后在文件中添加:
/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel64
安装mkl时如果不是选择默认路径的,以上操作记得换成自己的安装路径。添加完内容后执行以下命令使其立即生效。
sudo ldconfig
三、OpenCV的安装
Github上有人已经写好了完整的安装脚本:https://github.com/jayrambhia/Install-OpenCV,下载后解压,然后进去该目录,选择自己的操作系统,比如我的是Ubuntu,执行
sudo ./dependencies.sh
sudo ./open2_4_10.sh
其中第一步是安装依赖项,第二部是安装opencv,这个过程大概二三十分钟,慢慢等。
四、依赖库的安装
根据caffe官网提供的http://caffe.berkeleyvision.org/install_apt.html
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
Everything is packaged in 14.04.
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
依次安装就行了
四、Caffe的安装和编译
Caffe下载地址:https://github.com/BVLC/caffe
下载后,进入Caffe目录执行
cp Makefile.config.example Makefile.config
然后修改Makefile.config中的BLAS:= atlas为BLAS := mkl
还需要根据安装情况,修改cuda路径和opencv版本号,还有mkl的路径
最后是编译,执行以下三条命令:
make all
make test
make runtest
前两步是肯定没问题的,第三部runtest,最后会有两项不通过,但是还是pass了,不影响,应该是没装python的原因。如果不需要在python下用caffe,就可以不管了。
至此Caffe安装完成!
报错undefined reference to `cv::imread
添加环境变量解决:export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
sudo gedit ~/.bashrc
五、安装matlab
gcc 版本问题。
matlab版本是2012a
所以gcc版本4.4
gcc版本降级:sudo apt-get install gcc-4.4
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 40
gcc -v 查看版本
matlab安装教程http://blog.
caffe make clean 之后出现编译错误:fatal error: caffe/proto/caffe.pb.h: No such file or directory
执行下列语句
sudo apt-get install protobuf-c-compiler protobuf-compiler
libgl1-mesa-glx 这个包总是安不上,就放弃了,后面提示需要安一个mesa字样的包。然后好像可以替代libgl1-mesa-glx的样子。