自己安装Caffe的过程中,参考了很多资料,但由于版本或者其他原因,安装过程中总是遇到这样或者那样的问题,因此留做记录,方便之后查看,也希望对遇到相似麻烦的朋友们提供帮助。

   下面我们开始安装吧:

  硬件自然不用说了,一个好的显卡(Nvida TiTan 系列),i7的处理器,8G以上的RAM。

1. 安装部分支持库

sudo apt-get install build-essential
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
sudo apt-get install freeglut3-dev libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

2. 下载NVIDIA显卡驱动 和 CUDA

  a. 显卡驱动下载

  http://www.nvidia.cn/Download/index.aspx?lang=cn 选择对应型号和系统下载(CUDA向下兼容,可以下载最新的driver)

  Linux下run文件点下载键直接打开网页,可点击右键另存为即可。

  b. CUDA下载

  https://developer.nvidia.com/cuda-downloads 选择对应系统下载

  可以下载CUDA 7.0或者 7.5

3. 安装NVIDIA显卡驱动和CUDA

  首先进入tty,输入用户名和密码。

  关闭图形界面:

sudo stop lightdm

  安装驱动:(更改驱动名称)

sudo chmod -R 777 NVIDIA-Linux-x86_64-352.21.run
sudo sh NVIDIA-Linux-x86_64-352.21.run

  安装CUDA:

sudo chmod -R 777 cuda_7.0.28_linux.run
sudo ./cuda_7.0.28_linux.run

  安装过程都默认路径就好。CUDA7会提示安装完了Driver、Toolkit和Samples。

    备注1:如果之前你单独安装了驱动,安装CUDA时,驱动安装部分可以跳过。

    备注2:安装Samples可能会提示 缺少一些库,simple 也可之后编译测试。 

  打开图形界面

sudo start lightdm

4. 如果安装驱动不成功,很可能会进入黑屏模式,不要着急重装系统,进入tty重新装一遍驱动即可。(驱动安装成功,本步可略过)

  如果进入不了tty (ctrl+Alt+F1~F6),只是黑屏,则:

sudo sed -i -e 's/#GRUB_TERMINAL/GRUB_TERMINAL/g' /etc/default/grub
sudo update-grub
sudo reboot

  如果重启机子之后就进入不了桌面,在登陆界面循环,但是可以进入tty,一般是内核引导或者驱动安装的问题。则进入tty

lsmod | grep nouveau

  创建文件,不会用vi的可以用gedit

sudo gedit /etc/modprobe.d/nvidia-graphics-drivers.conf

  写入  blacklist nouveau, 退出保存(wq)

  修改grub:

sudo gedit /etc/default/grub

   末尾写入 

rdblacklist=nouveau nouveau.modeset=0

5. 安装配置Nvidia cuDNN-v4 (也可下载v5版本,链接库文件时注意改名)

  a. 去官网下载最新的cuDNN (cudnn-70-linux-x64-v4)。

https://developer.nvidia.com/cudnn 下载,需要先注册为developer,审核通过就可以下载,大概审个两天就可以。这个主要是针对Deep Learning框架设计的NVIDIA CUDA的GPU计算加速方案。不安装这个也可以跑caffe。

  b. 添加头文件和库文件

sudo cp include/cudnn.h /usr/local/include
sudo cp lib64/libcudnn.* /usr/local/lib

  c. 链接cuDNN的库文件

sudo ln -sf /usr/local/lib/libcudnn.so.4.0.7 /usr/local/lib/libcudnn.so.4
sudo ln -sf /usr/local/lib/libcudnn.so.4 /usr/local/lib/libcudnn.so
sudo ldconfig -v

6. 设置CUDA的环境变量 

  安装完成后需要在/etc/profile中添加环境变量

sudo gedit /etc/profile 

  在文件最后添加:

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

  保存后, 执行下列命令, 使环境变量立即生效

source /etc/profile

  同时需要添加lib库路径: 在 /etc/ld.so.conf.d/加入文件cuda.conf,

sudo gedit /etc/ld.so.conf.d/cuda.conf

  添加内容:

/usr/local/cuda/lib64

  保存后,执行下列命令使之立刻生效:

sudo ldconfig

7. 安装测试CUDA simples  

cd /usr/local/cuda/samples
sudo make all -j8

  其中-jx中x的数字代表几个线程同时编译,可以加快速度,x可以根据CPU核的个数决定。

可能遇到的问题:/usr/bin/ld: cannot find -lGL

原因:1. 缺少libGL库文件;2. link的问题。

方案:

1, 如果是缺少libGL库文件,可以先搜寻库文件安装包

apt-cache search libGL-dev
sudo apt-get install libGL-dev

2, 先寻找link文件(.so),再根据寻找结果定位  

locate libGL.so

  显示结果如下:

/usr/lib/x86_64-linux-gnu/libGL.so
/usr/lib/x86_64-linux-gnu/libGL.so.1
/usr/lib/x86_64-linux-gnu/libGL.so.346.46
/usr/lib/x86_64-linux-gnu/mesa/libGL.so

  链接文件:

sudo rm /usr/lib/x86_64-linux-gnu/libGL.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.346.46 /usr/lib/x86_64-linux-gnu/libGL.so

  其他问题解决方案类似。

  编译完成后进入samples/bin/x86_64/linux/release, 运行deviceQuery

cd ./bin/x86_64/linux/release
./deviceQuery

  如果出现显卡信息, 则驱动及显卡安装成功。  

8. 安装Intel MKL或Atlas

  如果没有Intel MKL, 可以用下列命令安装免费的atlas(我在安装过程中,使用MKL时,与caffe不兼容,于是直接使用了atlas!!!!)

sudo apt-get install libatlas-base-dev

当然使用Intel MKL会快一些,我在caffe社区也反映了兼容问题,现在已经解决。安装Intel MKL过程如下:

  a. 下载Intel MKL

  Intel MKL可以申请学生账号下载免费intelMKL   

  b. 解压安装包,下面有一个install_GUI.sh文件, 执行该文件sudo run intall_GUI.sh, 会出现图形安装界面,按说明安装即可。

  c. 安装完成后需要添加library路径, 创建/etc/ld.so.conf.d/intel_mkl.conf文件

sudo vi /etc/ld.so.conf.d/intel_mkl.conf

  在文件中添加内容: 

/opt/intel/lib
/opt/intel/mkl/lib/intel64

  注意把路径替换成自己的安装路径

sudo ldconfig

  

9. OpenCV的下载安装

  a. 下载OpenCV(建议2.4 系列,3系列差别比较大)

  在https://github.com/bearpaw/Install-OpenCV 下载到本地。opencv版本2.4.10.

  b. 安装OpenCV

sudo sh ./opencv_2_4_10.sh

  脚本会自动安装依赖项,下载安装包,编译并安装OpenCV。

10. 安装Caffe所需要的Python环境

  a. 直接用系统自带的python就行了,可以通过以下命令查看python版本

python --version

 确定使用的是anaconda提供的python环境,安装

which python
which pip
apt-get install python-pip

  在用户自己的`~/.bashrc` 中添加library path

LD_LIBRARY_PATH=your_anaconda_path/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

11. 安装matlab  

  下载matlab后,安装过程按照安装包里的要求做就可以了。(R2014a)

sudo ./install

  备注1:安装完之后需要添加桌面图标,不然每次都需要到/usr/local/MATLAB/R2014a/bin中去 sudo ./matlab 。

  备注2:不要直接去软件中心下载matlab-support,尝试过,一直在installing,没有成功。

  备注3:MATLAB R2013a安装包,遇到过一堆乱七八糟其他问题,比如撞到83%说某个库不是exe什么的,最后换了个安装包和版本,一切顺利。

  备注4: ubuntu和mac下,对matlab进行激活时,输入用户名和密码,总是显示连接不到服务器,我们需要将防火墙(farewall)关掉。输入“sudo ufw disable”,然后进行激活,激活完成,"sudo ufw enable" 重启防火墙即可!

12. 其他依赖项安装

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

tar zxvf glog-0.3.3.tar.gz
./configure
make
sudo make install

  如果没有权限就chmod a+x glog-0.3.3 -R , 或者索性 chmod 777 glog-0.3.3 -R

  b. 其他依赖项,确保都成功

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

  

13. 编译Caffe(终于到了激动人心的一刻)

  进入caffe根目录, 首先复制一份`Makefile.config`, 然后修改里面的内容,主要需要修改的参数包括

  • CPU_ONLY 是否只使用CPU模式,没有GPU没安装CUDA的同学可以打开这个选项
  • BLAS (使用intel mkl还是atlas),建议使用atlas,方便又快捷
  • MATLAB_DIR 如果需要使用MATLAB wrapper的同学需要指定matlab的安装路径, 如我的路径为/usr/local/MATLAB/R2014a (注意该目录下需要包含bin文件夹,bin文件夹里应该包含mex二进制程序)
  • DEBUG 是否使用debug模式,打开此选项则可以在eclipse或者NSight中debug程序

完成设置后, 开始编译

make all -j8
make test
make runtest

  如果需要matlab wrapper

make matcaffe

  如果需要python wrapper

make pycaffe

  备注:如果有多个caffe包,一定要输出每一个的python路径。例如有caffe1和caffe2:

export PYTHONPATH=your_caffe_path/caffe1/python:$PYTHONPATH
export PYTHONPATH=your_caffe_path/caffe2/python:$PYTHONPATH

  

14. 使用MNIST数据集进行测试

  Caffe默认情况会安装在$CAFFE_ROOT,就是解压到那个目录,例如:$ home/username/caffe-master,所以下面的工作,默认已经切换到了该工作目录。

  下面的工作主要是,用于测试Caffe是否工作正常,不做详细评估。具体设置请参考官网:http://caffe.berkeleyvision.org/gathered/examples/mnist.html

  a. 数据预处理

sh data/mnist/get_mnist.sh

  b. 重建lmdb文件。Caffe支持多种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,HDF5等,根据自己需要选择不同输入吧。

sh examples/mnist/create_mnist.sh

  生成mnist-train-lmdb 和 mnist-train-lmdb文件夹,这里包含了lmdb格式的数据集

  c. 训练mnist

sh examples/mnist/train_lenet.sh

  至此,Caffe安装的所有步骤完结,下面是一组简单的数据对比,实验来源于MNIST数据集,主要是考察一下不同系统下CPU和GPU的性能。可以看到明显的差别了,虽然MNIST数据集很简单,相信复杂得数据集,差别会更大,Ubuntu+GPU是唯一的选择了。

Caffe 安装 Ubuntu14.04+CUDA7.0/7.5(亲测有效)的更多相关文章

  1. Caffe搭建:Ubuntu14.04 + CUDA7.0 + opencv3.0 + Matlab2014A

    从Hinton在science上发表深度学习训练开创新的文章以来,深度学习火了整整有3年多,而且随着新的硬件和算法的提出,深度学习正在应用于越来越多的领域,发挥其算法的优势. 实验室并没有赶上第一波深 ...

  2. docker+ubuntu14.04+cuda7.0

    参考链接: http://tleyden.github.io/blog/2014/10/25/docker-on-aws-gpu-ubuntu-14-dot-04-slash-cuda-6-dot-5 ...

  3. Ubuntu14.10+cuda7.0+caffe配置

    转自:http://blog.csdn.net/lu597203933/article/details/46742199 Ubuntu14.10+cuda7.0+caffe配置 一:linux安装 L ...

  4. 虚拟机安装ubuntu14.04.5系统

    参考教程 在vitualbox安装 ubuntu14.04.2 LTS教程 http://jingyan.baidu.com/article/46650658228345f549e5f8cc.html ...

  5. windows7下硬盘安装ubuntu14.04

    windows7 ubuntu1404双系统 准备软件 安装步骤 step 1 step 2 step 3 step 4 windows7 + ubuntu14.04双系统 准备软件 1)grub4d ...

  6. Win7下通过easyBCD引导安装Ubuntu14.04

    Ubuntu14.04作为目前最新版本的ubuntu系统,相信很多人都想在自己的电脑上安装一下,然而系统的安装方法各式各样,u盘法.grub引导法等等,这里我将介绍在win7系统下用easyBCD软件 ...

  7. Windows8.1硬盘安装Ubuntu14.04双系统参考教程和多硬盘的注意事项[画画]

    硬盘安装.无需光盘.U盘:Win8.1为主,Ubuntu14.04为辅,可将Windows或Ubuntu设置为开机默认启动项.在Ubuntu下可查看.操作Windows系统下的文件:适用于安装和14. ...

  8. Windows 8.1 硬盘安装 Ubuntu14.04 双系统参考教程及注意事项

    硬盘安装,无需光盘.U盘:Win8.1为主,Ubuntu14.04为辅,可将Windows或Ubuntu设置为开机默认启动项:在Ubuntu下可查看.操作Windows系统下的文件:适用于安装和14. ...

  9. win8硬盘安装Ubuntu14.04双系统參考教程

    硬盘安装,无需光盘.U盘.win8为主.Ubuntu14.04为辅.可将Windows或Ubuntu设置为开机默认启动项.在Ubuntu下可查看.操作Windows系统下的文件:适用于安装和14.04 ...

随机推荐

  1. 简单说一下 JSON和JSONP

    JSON和JSONP,但从缩写看,可能会以为他们是很相似的两个名词,但他们除了缩写相似外,他们是两种类型的概念. 首先: JSON(JavaScript Object Notation)即JavaSc ...

  2. Android WebView页面加载优化

    目前webapp越来越多,体验也越来越好,为了能够更好的使用WebView展示出流畅的的页面,可以从以下几点做优化: WebView缓存 资源文件本地存储 减少耗时操作 客户端UI优化 可能有人会说了 ...

  3. Excel 打开两个单独的页面

    方法: 一.打开一个excel,二."开始-程序-Microsoft Office" 打开一个Microsoft Office,文件打开需要用的文件 三 结果如上图所示

  4. 【hdu 4289】Control

    [Link]:http://acm.hdu.edu.cn/showproblem.php?pid=4289 [Description] 给出一个又n个点,m条边组成的无向图.给出两个点s,t.对于图中 ...

  5. 将已有的Eclipse项目转化为Maven项目

    将已有的Eclipse项目转化为Maven项目 我们之前在Eclipse IDE完成的Java命令行项目.Java Web项目也使用了构建工具--Ant,它帮助我们编译.运行Java源代码(无需我们自 ...

  6. 图片工具GraphicsMagick的安装配置与基本使用

    本文使用GraphicsMagick的版本为1.3.18 (Released March 9, 2013). 1.简介 GraphicsMagick是一个短小精悍的的图片处理工具和库集合.对于Java ...

  7. hdu 1588 Gauss Fibonacci(矩阵嵌矩阵)

    题目大意: 求出斐波那契中的 第 k*i+b 项的和. 思路分析: 定义斐波那契数列的矩阵 f(n)为斐波那契第n项 F(n) = f(n+1) f(n) 那么能够知道矩阵 A = 1 1 1  0 ...

  8. Android自己定义圆角ImageView 支持网络图片

    先看下效果图 我们再来看一张CSDN的圆角图片 从布局能够看出csdn app 的头像也是圆角的Image,但能够看到.有明显的毛刺感.不知道是csdn 程序猿的疏忽还是 我手机的问题,本人手机(小米 ...

  9. menu-代码添加以及add方法参数意义

    今天需要给一个menu动态添加一个item,先把方法记录如下 @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(Me ...

  10. JS ajax 应用 (下拉列表联动)

        <script language="javascript"> var http_request=false;    function send_request( ...