UBUNTU 14.04 + CUDA 7.5 + CAFFE
这个也是困扰我很久的问题,之前用 http://www.cnblogs.com/platero/p/3993877.html 的安装方法,装了五六七八九十次,总是出问题。
后来找到了一种新的方法,一个晚上加半个上午,装了ubuntu系统(14.04) + NVIDIA 驱动 + CUDA + CAFFE 全部搞定。还跑了mnist的那个数据库,爽爽的一点问题也没有。具体步骤:
1.安装ubuntu,建议安装英文语言版(我自己安装的是14.04英文语言的)。
2.安装NVIDIA 驱动:建议参考博客 http://blog.csdn.net/xizero00/article/details/43227019 (这是我同学的博客,我用他的方法装,好到爆炸)。
建议先安装依赖项: $ sudo apt-get install build-essential
1) 首先验证你是否有nvidia的显卡(http://developer.nvidia.com/cuda-gpus这个网站查看你是否有支持gpu的显卡): $ lspci | grep -i nvidia
2) 查看你的linux发行版本(主要是看是64位还是32位的):$ uname -m && cat /etc/*release
3) 查看GCC版本: $ gcc --version
4) 首先下载nvidia cuda的仓库安装包(我的是ubuntu 14.04 64位,所以下载的是ubuntu14.04的安装包,如果你是32位的可以参看具体的地址,具体的地址是https://developer.nvidia.com/cuda-downloads)
$: wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_6***.deb (具体看网址多少)
5) 下载完成之后可以使用如下命令安装它,注意文件名修改为cuda-repo-ubuntu1404_6.5-14_amd64.deb, (建议下载local版(接近2G)的,在windows下用迅雷下载,拷贝到ubuntu桌面。net(几k)和local版本安装步骤一模一样,如下:)
$ sudo stop lightdm
$ sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
$ sudo start lightdm
6) 安装好仓库之后,就可以更新你的本地仓库。
$ sudo apt-get update
7) 最后开始安装cuda以及显卡驱动(安装cuda的同时就会把显卡驱动也全部安装好,这个真的很方便。但是下载的时间有点长。)
sudo apt-get install cuda
**建议安装xubuntu, 防止桌面空白现象 $ sudo apt-get install xubuntu-desktop
需要注意的是,我这里提供的安装方法跟网络上各种安装方法都不一样,他们的方法往往很复杂
主要是因为:(1)有些教程是手工安装显卡的驱动程序,手工屏蔽系统的默认开源的驱动
(2)安装cuda也是手工进行
使用这个方法的时候千万要注意几个问题:
(1)cuda6.5已经不支持老旧的显卡了所以sm11 等等都必须删除。可以参考我的另一个文章,关于编译opencv3.0的
(2)ubuntu14.04是64位的,并且不要一开始就更新系统补丁什么的,因为系统更新过之后,再安装显卡驱动就会无法进入图形界面,我查看了相关的日志发现是卡在了dbus那边。所以,我建议一安装好ubuntu 14.04就不要更新系统补丁。
8) 安装完之后你需要设置环境变量, 在/etc/profile里面加入
export PATH=/usr/local/cuda-6.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH
然后在终端输入$ source /etc/profile
9) 添加lib库路径:
在 /etc/ld.so.conf.d/加入文件 cuda.conf, 内容如下
/usr/local/cuda-6.5/lib64
执行下列命令使之立刻生效
sudo ldconfig
我同学博客说接下来选择是否安装nvidia的sample,我感觉前一个步骤已经一起安装的,至少我安装的时候是这样的,所以这一步是不需要的,没有的话另行安装。
接下来做一些验证工作:
1. 查看显卡的驱动版本
$ cat /proc/driver/nvidia/version
2. 查看nvcc编译器的版本
$ nvcc -V i
3. 编译cuda的示例代码: $ cd ~/NVIDIA_CUDA-6.5_Samples, $ sudo make
4. 全部编译完成后, 进入 samples/bin/x86_64/linux/release, sudo下运行deviceQuery,$ sudo ./deviceQuery
安装其他工具和库
1. 安装ATLAS(由于intel mkl收费,openblas安装复杂,atlas最好安装了,而且是caffe默认的), 一行代码搞定:$ sudo apt-get install libatlas-base-dev
2. 安装Opencv 2.4.9: 这个尽量不要手动安装, Github上有人已经写好了完整的安装脚本:https://github.com/jayrambhia/Install-OpenCV 下载该脚本,进入Ubuntu/2.4 目录, 给所有shell脚本加上可执行权限。
1) $ chmod +x *.sh, $ sudo ./opencv2_4_9.sh. 接下来等着自动安装。
我个人人文安装opencv最好的办法是,在ubuntu软件中心输入opencv,然后把所有显示的项都点击安装(没有软件中心可以$sudo apt-get install software-center安装一个,该方法也可验证opencv是否装好)。
另外,用该方法的时候会出现错误/home/yy/opencv-2.4.9/build/modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda//cuda_compile_generated_matrix_operations.cu.o等一堆错误。
该错误在终端输入:“cmake -D CMAKE_BUILD_TYPE=bulid -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..”,即可解决!
如出现../modules/gpu/src/nvidia/core/NCVPixelOperations.hpp(51): error: a storage class is not allowed错误,解决办法在此:
去网站http://code.opencv.org/issues/3814 下载 NCVPixelOperations.hpp 替换掉opencv2.4.9该路径下的文件, 重新编译。 在CSDN下载,以前的下载路径好像下载不了。
最后,sudo make install 即可,可以python 试一下能否import 从从cv2。
3. 安装其他依赖项: $ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler (建议一个一个安装)
4. 安装Python:下载CAFFE,转到caffe目录下的Python目录:$ sudo apt-get install python-dev python-pip, $ for req in $(cat requirements.txt); do sudo pip install $req; done
安装完python后在/etc/profile里面加上路径,export PYTHONPATH = ...caffe_root/python/:$python:$PYTHONPATH
(后面在运行python文件的时候,会用到protobuf,安装完probobuf也要在/etc/profile/中加入路径/usr/include/google/protobuf:$PATH)
现在已经大功告成了:测试即可
1) cd 进入caffe根目录, 首先复制一份Makefile.config
2) $ cp Makefile.config.example Makefile.config
3) $ make all -j8
$ make test
$ make runtest
最后可以,安装MATLAB...(此处省略一万字...)
5. 如果想用python接口,可接着如下操作。
1) Makefile.config修改: WITH_PYTHON_LAYER := 1 #取消注释
2) 编译:
$ make clean
$ make pycaffe -j32
$ make test -j32
3) 使Caffe的python接口永久生效
$ vim /etc/profile profile 最后添加: export PYTHONPATH=/root/$CAFFE_ROOT/python:$PYTHONPATH
$ source /etc/profile
注意:
有一些python库没有安装,在import caffe测试时会出错,常见的库缺失错误:
ImportError: No module named skimage.io
ImportError: No module named scipy
ImportError: No module named google.protobuf.internal
yum install python-matplotlib.x86_64
pip install -U scikit-image
pip install scipyeasy_install protobuf
安装完成上述caffe依赖的python库后,可能需要重新执行一遍第4,5步操作。
6. 如果想使用MATLAB接口,在Makefile.config中修改文件,写入以下路径:
MATLAB_DIR:=/usr/local/MATLAB/R2014a
然后终端下编译:$ sudo make matcaffe
然后测试:$ sudo make mattest
如果在make mattest 出现以下错误:/usr/../libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by …) 可采用以下解决方案:
sudo ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 /usr/local/MATLAB/R2014a/bin/glnxa64/libstdc++.so.6
成功没有报错即可。
UBUNTU 14.04 + CUDA 7.5 + CAFFE的更多相关文章
- NVIDIA DIGITS 学习笔记(NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0)
转自:http://blog.csdn.net/enjoyyl/article/details/47397505?from=timeline&isappinstalled=0#10006-we ...
- Caffe配置简明教程 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 )
1. 前言 本教程使用的系统是Ubuntu 14.04 LTS 64-bit,使用的CUDA版本为7.5,使用的NVIDIA驱动版本为352. 如果您使用的Pascal架构显卡,如GTX1080或者新 ...
- 【转载】Caffe + Ubuntu 14.04 + CUDA 6.5 新手安装配置指南
洋洋洒洒一大篇,就没截图了,这几天一直在折腾这个东西,实在没办法,不想用Linux但是,为了Caffe,只能如此了,安装这些东西,遇到很多问题,每个问题都要折磨很久,大概第一次就是这样的.想想,之后应 ...
- Caffe使用: Ubuntu 14.04(x64) 从cuda 7.0 升级到 cuda8.0
由于之前已经在Ubuntu 14.04 x64上面安装cuda7.0+caffe, 并且已经配置好,caffe也已经跑通. 但是最近需要使用Torch,而Torch对cuda的要求是8.0,因此决定对 ...
- Ubuntu 14.04上安装caffe
本来实在windows 10上尝试安装caffe,装了一天没装上,放弃; 改在windows上装ubuntu的双系统,装了一个下午,不小心windows的系统盘被锁死了,也不会unlock?只好含泪卸 ...
- Ubuntu 14.04 64bit下Caffe + Cuda6.5/Cuda7.0 安装配置教程
http://www.embeddedlinux.org.cn/emb-linux/entry-level/201612/21-6005.html 随着深度学习快速发展的浪潮,许多有兴趣的工作者都转入 ...
- rcnn caffe matlab 配置完成 14.04 cuda 7.0
http://blog.csdn.net/real_myth/article/details/42672381 各种痛苦.实验室网速还是龟速. 莫名其妙的错误. gcc还降级到4.7,opencv 3 ...
- Caffe + Ubuntu 15.04 + CUDA 7.0 安装以及配置
作为小码农的我,昨天就在装这个东东了,主要参考第一篇博文,但是过程发现很多问题,经过反反复复,千锤百炼,终于柳暗花明,我把这个caffe给搞定了,是故,我发布出来,后之来者,欲将有感于斯文~ 本分分为 ...
- Ubuntu 14.04 安装 CUDA 问题及解决
本文安装环境: - 双显卡: intel 集显 + nvidia 独显 - Ubuntu 14.04.4 - CUDA 8.0.44 1. Deb 安装包是个坑 (不要用这种方法!) 使用 Deb 安 ...
随机推荐
- OC开发中运用到的枚举
一 常见枚举的定义: typedef enum { LOGIN_SUCCESS, USER_NAME, USER_PASSWORD, OLD_LAT, OLD_LNG }FIELD_SAVED; ...
- java数据结构和算法------顺序查找
package iYou.neugle.search; public class Sequence_search { public static int SequenceSearch(double[] ...
- < java.util >-- List接口
List本身是Collection接口的子接口,具备了Collection的所有方法.现在学习List体系特有的共性方法,查阅方法发现List的特有方法都有索引,这是该集合最大的特点. List:有序 ...
- VC++编程之对话框贴图
基于对话框的程序写好后,为对话框贴上个图片让界面更加美观(我承认做界面,MFC显得力不从心,不如QT). 其实很简单,我们以位图为例,选好我们需要的位图资源(bmp),假若自己的图片不是位图资源,可以 ...
- 制作OpenStack用的RHEL7系统镜像
制作OpenStack使用的RHEL7系统镜像,并进行相关设置,安装XRDP以进行远程访问. 1.在KVM中安装RHEL7.2客户机: 2.设置网卡为dhcp并onboot=yes,使得虚拟机能自动获 ...
- 一、javaSE总结
1.变量与常量区别: 常量:是在程序中的不会变化的数据. 变量:其实就是内存中的一个存储空间,用于储存常量数据 ,方便运算,因为有些数据不确定,变量空间可以重复使用. 2.变量空间的开辟条件:数据类型 ...
- HTML5中的Canvas精品教程
http://javascript.ruanyifeng.com/htmlapi/canvas.html
- java调用http请求json
最近遇到的问题,java如何调用http请求json: public class HttpClientUtil { private static final String CONTENT_TYPE_T ...
- Careercup - Microsoft面试题 - 5718181884723200
2014-05-11 05:55 题目链接 原题: difference between thread and process. 题目:请描述进程和线程的区别. 解法:操作系统理论题.标准答案在恐龙书 ...
- js分页
今天看了下妙味课堂的教程,写了下关于分页的js代码,写完的感觉就是有点小麻烦,需要很多if判断,思路要清晰 点击预览:http://peng666.github.io/blogs/page <! ...