Ubuntu14.04上Caffe安装指南

安装的准备工作

首先,安装官方版Caffe时。假设要使用Cuda。须要确认自己确实有NVIDIA GPU。

安装Ubuntu时,将/boot 分区分大概200M左右,太小了会导致升级系统时/boot空间不足。交换分区能够分到和机子的内存差点儿相同。

/opt 和 /usr/local 文件夹要保证空间能够满足软件安装的需求。暂时文件夹也不能太小。建议10G以上,由于如今的Matlab、MKL软件都非常大,暂时文件夹可能挂载不上去。其余的差点儿相同都能够分到/home了。

開始安装

更新系统

请注意。尽量不要更换Ubuntu的源。如今的官方源已经非常快了。非官方源easy导致系统各库版本号不兼容。让部分软件无法安装。

sudo apt-get update
sudo apt-get install build-essential

安装CUDA

  1. NVIDIA官网下载CUDA。然后把名字改成一个简单点的。比方cuda.run
  2. sudo chmod +x ./cuda.run
  3. sudo service lightdm stop
  4. 经过第三步后会进入tty1命令行界面,输入自己的账号和password。登录成功后,先cd到cuda下载的文件夹,输入sudo ./cuda.run。里面会有非常多选项,文件夹就用默认的。选择Yes/No的时候就选Yes。
  5. 完毕后我们还是回到图形界面吧,sudo service lightdm start
  6. sudo gedit /etc/profile,在文件末尾加入例如以下内容:PATH=/usr/local/cuda-7.5/bin:$PATH

    export PATH
source /etc/profile
sudo gedit /etc/ld.so.conf.d/cuda.conf

这个文件是空的。在编辑器中输入:

/usr/local/cuda-7.5/lib64

在命令行输入:sudo ldconfig

至此,显卡驱动和cuda就安装好了,接下来安装cuda samples

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev

cd到cuda samples的安装文件夹cd /usr/local/cuda-7.5/samples

sudo make

完毕后。

cd samples/bin/x86_64/linux/release

然后输入:sudo ./deviceQuery,假设能够打印出一系列的显卡信息,那么恭喜你,Cuda工作正常。

安装数学库

假设你能够下载到MKL,而且有序列号。能够将MKL解压出来。然后cd到解压后的文件夹。sudo ./install_GUI.sh,里面的文件夹就默认的即可了,一路往下next,安装结束后sudo gedit /etc/ld.so.conf.d/intel_mkl.conf,在里面输入/opt/intel/lib

/opt/intel/mkl/lib/intel64
,然后 sudo ldconfig更新一下库。至此就结束这一部分了。

假设你没有购买到MKL。那么能够使用atlas

sudo apt-get install libatlas-base-dev

安装boost

在官网上下载boost源代码,解压出来。cd到boost文件夹里。

bash ./bootstrap.sh
sudo ./b2 install

上面的代码可能会执行10-20分钟,你能够去喝杯咖啡了。

假设上面的代码没有报错,就能够执行sudo ldconfig了。

安装opencv3.1

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev  libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

官网下载一个opencv。然后解压出来。

在命令行中cd 到 opencv 里面后。一条条的执行以下的命令

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j4
sudo make install
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig

上面的代码请一行行的执行。每一步都要确保没有报错。

安装Python环境

尽管系统默认有python,可是我们须要用到Python的头文件等。必须安装python-dev。以下会安装这个。可是假设你嫌弃它安装的python版本号太低(事实上不是必需嫌弃)。你能够自己去官网上下载个最新的python2,然后编译。

sudo apt-get install python-dev python-pip

下载caffe的源代码,然后解压出来。cd 到caffe-master/python里面。

for req in $(cat requirements.txt); do sudo pip install $req; done

注意,这一步可能会有些库安装失败。那你就须要自己去PyPI下载相应库。然后自己安装它。

详细的库名称就在那个 requirements.txt里,后面的数字是版本号号。能够不用管。

假设你自己喜欢Anaconda。也能够參考其它教程安装Anaconda。

安装Matlab

假设你不用matlab或者不用Caffe的matlab借口(预计绝大部分人都不会去用),能够跳过这一步,真的!假设你要Matlab。

sudo mkdir /media/matlab
mount -o loop [path][filename].iso /media/matlab
cd /media/matlab
sudo ./install

安装过程中使用 readme.txt中的序列号。安装后使用crack中的license进行激活。

以下的路径是破解文件的路径,

sudo cp /路径/libmwservices.so /usr/local/MATLAB/R2014A/bin/glnxa64
sudo gedit /usr/share/applications/Matlab.desktop

输入:

[Desktop Entry]
Type=Application
Name=Matlab
GenericName=Matlab 2014a
Comment=Matlab:The Language of Technical Computing
Exec=sh /usr/local/MATLAB/R2014a/bin/matlab -desktop
Icon=/usr/local/MATLAB/Matlab.png
Terminal=false
Categories=Development;Matlab;

里面的东西依据自己的版本号改动下。

编译Caffe

先 cd 到你的 caffe-master,

cp Makefile.config.example Makefile.config

打开Makefile.config,看看里面的说明,依据自己的进行下配置。假设你一切都是依照默认的路径配置的,那就好办了。

假设你没有N卡。或者要使用CPU模式。那就把CUP_ONLY打开。

假设你使用的Opencv是3.1。就把 OPENCV_VERSION := 3前面的#去掉。

假设你用的MKL,就在BLAS := 后填入mkl。

其它的就依照自己的配置来吧。一般能够默认。

mkdir builds
cd builds
cmake ..
make all -j4

假设没有不论什么错误,那恭喜你,Caffe成功安装。

以下測试一下

make test
make runtest

test假设有几个错误或者FAIL。也算正常,不用太操心,错误可能是MKL的计算精度导致的。

接下来编译pycaffe

make pycaffe

编译 matcaffe

make matcaffe

有可能matcaffe会报错,说gcc 版本号不合适,那就算了吧(早说了在caffe中不用搞Matlab吧)。有强迫症的人。就自己设置一下gcc版本号吧。

吐槽一下:CSDN的markdown今晚抽筋了吧。老是没法正常显示,不知道是触发了什么bug.

Ubuntu14.04上深度学习Caffe库安装指南(CUDA7.5 + opencv3.1)的更多相关文章

  1. Caffe初学者第一部:Ubuntu14.04上安装caffe(CPU)+Python的详细过程 (亲测成功, 20180524更新)

    前言: 最近在学习深度学习,最先要解决的当然是开源框架的环境安装了.之前一直在学习谷歌的Tensorflow开源框架,最近实验中需要跟别人的算法比较,下载的别人的代码很多都是Caffe的,所以想着搭建 ...

  2. ubuntu14.04上实现faster rcnn_TF的demo程序及训练过程

    安装环境:Ubuntu14.04.显卡Tesla K40C+GeForce GT 705.tensorflow1.0.0.pycharm5.0 说明:原文见博客园,有问题原文下留言,不定期回复.本文作 ...

  3. 人工智能深度学习Caffe框架介绍,优秀的深度学习架构

    人工智能深度学习Caffe框架介绍,优秀的深度学习架构 在深度学习领域,Caffe框架是人们无法绕过的一座山.这不仅是因为它无论在结构.性能上,还是在代码质量上,都称得上一款十分出色的开源框架.更重要 ...

  4. ubuntu16.04系统深度学习开发环境、常用软件环境(如vscode、wine QQ、 360wifi驱动(第三代暂无))搭建相关资料

    事后补充比较全面的(找对资料真的省一半功夫):https://www.jianshu.com/p/5b708817f5d8?from=groupmessage Ubuntu16.04 + 1080Ti ...

  5. win7 配置微软的深度学习caffe

    win7 配置微软的深度学习caffe   官方下载: https://github.com/Microsoft/caffe 然后 直接修改caffe目录下的windows目录下的项目的props文件 ...

  6. [译]How to Install Node.js on Ubuntu 14.04 如何在ubuntu14.04上安装node.js

    原文链接为 http://www.hostingadvice.com/how-to/install-nodejs-ubuntu-14-04/ 由作者Jacob Nicholson 发表于October ...

  7. MXNet 学习 (1) --- 最易上手的深度学习开源库 --- 安装及环境搭建

    安装环境:Win 10 专业版 64位 + Visual Studio 2015 Community. 记录下自己在有GPU的环境下安装配置MXNet的过程.该过程直接使用MXNet release ...

  8. AI炼丹 - 深度学习必备库 numpy

    目录 深度学习必备库 - Numpy 1. 基础数据结构ndarray数组 1.1 为什么引入ndarray数组 1.2 如何创建ndarray数组 1.3 ndarray 数组的基本运算 1.4 n ...

  9. CUDA上深度学习模型量化的自动化优化

    CUDA上深度学习模型量化的自动化优化 深度学习已成功应用于各种任务.在诸如自动驾驶汽车推理之类的实时场景中,模型的推理速度至关重要.网络量化是加速深度学习模型的有效方法.在量化模型中,数据和模型参数 ...

随机推荐

  1. Java并发(九):重入锁 ReentrantLock

    先做总结: 1.为什么要用ReentrantLock? (1)ReentrantLock与synchronized具有相同的功能和内存语义: (2)synchronized是重量级锁,性能不好.Ree ...

  2. [bzoj1022][SHOI2008]小约翰的游戏 John (博弈论)

    Description 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不取 ...

  3. bzoj 1670: [Usaco2006 Oct]Building the Moat护城河的挖掘 -- 凸包

    1670: [Usaco2006 Oct]Building the Moat护城河的挖掘 Time Limit: 3 Sec  Memory Limit: 64 MB Description 为了防止 ...

  4. bzoj 3969: [WF2013]Low Power 二分

    3969: [WF2013]Low Power Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnli ...

  5. 典型案例收集-使用OpenVPN连通多个机房内网(转)(静态路由)

    说明: 1.这篇文章主要是使用静态路由表实现的多个机房通过VPN连接后的子网机房互通. 2.OpenVPN使用的是桥接模式(server-bridge和dev tap),这个是关键点,只有这样设置才可 ...

  6. iptables数据包、连接标记模块MARK/CONNMARK的使用(打标签)

    MARK标记用于将特定的数据包打上标签,供iptables配合TC做QOS流量限制或应用策略路由. 看看和MARK相关的有哪些模块: ls /usr/lib/iptables/|grep -i mar ...

  7. How to implement *All-Digital* analog-to-digital converters in FPGAs and ASICs

    When we engineers look at the complexity of system design these days, we are challenged with crammin ...

  8. Spring EL运算符实例

    Spring EL支持大多数标准的数学,逻辑和关系运算符. 例如, 关系运算符 – 等于 (==, eq), 不等于 (!=, ne), 小于 (<, lt), 小于或等于 (<= , l ...

  9. SQL Server 2008内存及I/O性能监控

    来源: it168  发布时间: 2011-04-12 11:04  阅读: 10820 次  推荐: 1   原文链接   [收藏]   以下均是针对Window 32位系统环境下,64位的不在下面 ...

  10. 11.2 为什么要使用 MVC

    以前的大部分应用程序(非Android应用)都是用像ASP.PHP或者CFML这样的过程化(自PHP5.0版本后已全面支持面向对象模型)语言来创建的.它们将像数据库查询语句这样的数据层代码和像HTML ...