Ubuntu14.04上深度学习Caffe库安装指南(CUDA7.5 + opencv3.1)

2024-03-29 04:48

本文主要是介绍Ubuntu14.04上深度学习Caffe库安装指南(CUDA7.5 + opencv3.1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Ubuntu14.04上Caffe安装指南

安装的准备工作

首先,安装官方版Caffe时,如果要使用Cuda,需要确认自己确实有NVIDIA GPU。
安装Ubuntu时,将/boot 分区分大概200M左右,太小了会导致升级系统时/boot空间不足。交换分区可以分到和机子的内存差不多。/opt 和 /usr/local 目录要保证空间能够满足软件安装的需求。临时目录也不能太小,建议10G以上,因为现在的Matlab、MKL软件都很大,临时目录可能挂载不上去。其余的差不多都可以分到/home了。

开始安装

更新系统

请注意,尽量不要更换Ubuntu的源,现在的官方源已经很快了。非官方源容易导致系统各库版本不兼容,让部分软件无法安装。

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命令行界面,输入自己的账号和密码。登录成功后,先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)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/857637

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了