Caffe + Ubuntu 15.04 + CUDA 7.0 安装以及配置
作为小码农的我,昨天就在装这个东东了,主要参考第一篇博文,但是过程发现很多问题,经过反反复复,千锤百炼,终于柳暗花明,我把这个caffe给搞定了,是故,我发布出来,后之来者,欲将有感于斯文~
Python安装和调试;第三部分 Matlab安装和调试;第四部分
Caffe的安装和测试。
第一部分:nVidia驱动和CUDA Toolkit的安装和调试
这里以CUDA 7.0为例。
一、CUDA Repository
获取CUDA安装包,安装包请自行去NVidia官网下载。
$ sudo dpkg -i cuda-repo-ubuntu1410-7-0-local_7.0-28_amd64.deb
$ sudo apt-get update
二、CUDA Toolkit
$ sudo apt-get install -y cuda
三、Environment Variables
$ export CUDA_HOME=/usr/local/cuda-7.0
$ export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
$ PATH=${CUDA_HOME}/bin:${PATH}
$ export PATH
第二部分 Python安装和调试
1. 安装IDE运行环境
选择一个适合你的IDE运行环境,我是用的是Spyder,因为它内置了 iPython 环境,Caffe有不少的程序是基于 iPython 环境完成的。安装方法很简单,直接在Ubuntu软件中心搜索“spyder”即可安装。
2. iPython NoteBook 安装
另外一个比较推荐的方法是使用iPyhthon NoteBook(基于浏览器的Python IDE),特别是适合需要用Python做教程的老师们,可以直接导出.py, .ipynb, html格式,安装步骤如下:
$ sudo apt-get install -y ipython-notebook pandoc
启动(自动打开浏览器):
$ ipython notebook
一个简单的使用iPython NoteBook生成的html的例子:examples_notebook.html example_notebook.ipynb
3. 配置和编译pycaffe
第三部分 Matlab安装和调试
1. 降级安装gcc/g++版本为4.7.x
(1). 下载gcc/g++ 4.7.x
$ sudo apt-get install -y gcc-4.7
$ sudo apt-get install -y g++-4.7
(2). 链接gcc/g++实现降级
$ cd /usr/bin
$ sudo rm gcc
$ sudo ln -s gcc-4.7 gcc
$ sudo rm g++
$ sudo ln -s g++-4.7 g++
2. 暴力引用新版本GLIBCXX_3.4.20
$ sudo cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6.0.20 然后cd /usr/local/MATLAB/R2014a/sys/os/glnxa64/
$ sudo mv libstdc++.so.6 libstdc++.so.6.backup
$ sudo ln -s libstdc++.so.6.0.20 libstdc++.so.6
$ sudo ldconfig -v
通过命令“strings /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6 | grep GLIBCXX_” 可以看一下,是否已经成功包含了GLIBCXX_3.4.20,如果已经存在,基本上就成功了。
6.编译Matlab用到的caffe文件(见第五部分)
第四部分 Caffe的安装和测试
在caffe的github上下载安装包,解压得到caffe-master文件夹。
一、安装BLAS
这里可以选择(ATLAS,MKL或者OpenBLAS),这里使用MKL。
$ tar zxvf parallel_studio_xe_2015.tar.gz (如果你是直接拷贝压缩文件过来的)
$ chmod a+x parallel_studio_xe_2015 -R
$ sudo ./install_GUI.sh
二、MKL与CUDA的环境设置
1. 新建intel_mkl.conf, 并编辑之:
$ sudo gedit /etc/ld.so.conf.d/intel_mkl.conf
/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel64
2. 新建cuda.conf,并编辑之:
$ sudo gedit /etc/ld.so.conf.d/cuda.conf
/usr/local/cuda/lib64
/lib
3. 完成lib文件的链接操作,执行:
$ sudo ldconfig -v
三、安装OpenCV 3.0.0
To
install the dependencies required from OpenCV, just run the following commands:
sudo
apt-get -y install libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff4-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine-dev libgstreamer0.10-dev
libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip
Create a temporary directory, which we denote as <cmake_binary_dir>, where you want to put the generated Makefiles, project files as well the object files and output binaries.
Enter the <cmake_binary_dir> and type
cmake [<some optional parameters>] <path to the OpenCV source directory>
For example
cd ~/opencv mkdir release cd release cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
Enter the created temporary directory (<cmake_binary_dir>) and proceed with:
make sudo make install
配置openCV参数设置
sudo gedit /etc/ld.so.conf.d/opencv.conf
sudo ldconfig
sudo gedit /etc/bash.bashrc 加入:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
至此,OpenCV安装配置完毕
四、安装其他依赖项
1. Google Logging Library(glog),下载地址:https://code.google.com/p/google-glog/,然后解压安装:
$ tar zxvf glog-0.3.3.tar.gz 然后cd进入目录
$ ./configure
$ make
$ sudo make install
如果没有权限就chmod a+x glog-0.3.3 -R , 或者索性 chmod 777 glog-0.3.3 -R , 装完之后,这个文件夹就可以kill了。
2. 其他依赖项,确保都成功
$ sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev
$ sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
五、安装Caffe并测试
1. 安装pycaffe必须的一些依赖项:
$ sudo apt-get install -y python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython
$ sudo apt-get install -y protobuf-c-compiler protobuf-compiler
2. 安装配置nVidia cuDNN 加速Caffe模型运算
a. 安装cuDNN
该改版本caffe-master默认支持cudnn-6.5-linux-x64-v2,安装前请去先官网下载最新的cuDNN。建议安装v3版本,把一下相应6.5改成7.0即可,方法一样。
$ sudo cp cudnn.h /usr/local/include
$ sudo cp libcudnn.so /usr/local/lib
$ sudo cp libcudnn.so.6.5 /usr/local/lib
$ sudo cp libcudnn.so.6.5.48 /usr/local/lib
b. 链接cuDNN的库文件
$ sudo ln -sf /usr/local/lib/libcudnn.so.6.5.48 /usr/local/lib/libcudnn.so.6.5
$ sudo ln -sf /usr/local/lib/libcudnn.so.6.5 /usr/local/lib/libcudnn.so
$ sudo ldconfig -v
3. 从github上下载caffe,为Caffe-master的文件夹,cd进去,生成Makefile.config配置文件,执行:
$ cp Makefile.config.example Makefile.config
4. 配置Makefile.config文件(仅列出修改部分)
sudo gedit Makefile.config
a. 启用CUDNN,去掉"#"(目前caffe-master仍然只支持R1版本)
USE_CUDNN := 1
b. 启用GPU,添加注释"#"
# CPU_ONLY := 1
c. 配置一些引用文件(增加部分主要是解决新版本下,HDF5的路径问题)
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
温馨提示:ctr+f搜索在后面添加多余的内容
d. 启用Intel Parallel Studio XE 2015 Professional Edition for C++ Linux
BLAS := mkl
e. 配置路径,实现caffe对Python和Matlab接口的支持
PYTHON_LIB := /usr/local/lib
MATLAB_DIR := /usr/local/MATLAB/R2014a
f. 启用python_layer
WITH_PYTHON_LAYER :=1
5. 配置Makefile文件(实现对OpenCV 3.x的支持)
sudo gedit Makefile
查找“Derive include and lib directories”一节,修改“LIBRARIES +=”的最后一行,增加opencv_imgcodecs
opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
6. 编译caffe-master!!!一定要重启电脑,重启电脑,因为显卡驱动装完需要重启才能生效,本人在这里搞了两次,后来才发现问题的本质,哎。"-j8"是使用CPU的多核进行编译,可以极大地加速编译的速度,建议使用。
$ make all -j8
$ make test -j8
$ make runtest -j8
编译Python和Matlab用到的caffe文件
$ make pycaffe -j8
$ make matcaffe -j8
六、使用MNIST数据集进行测试
cd进入caffe-master目录下
1. 数据预处理
$ sh data/mnist/get_mnist.sh
2. 重建lmdb文件。Caffe支持三种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,根据自己需要选择不同输入吧。
$ sh examples/mnist/create_mnist.sh
生成mnist-train-lmdb 和 mnist-train-lmdb文件夹,这里包含了lmdb格式的数据集
3. 训练mnist
$ sh examples/mnist/train_lenet.sh
至此,Caffe安装的所有步骤完结,下面是一组简单的数据对比,实验来源于MNIST数据集,主要是考察一下不同系统下CPU和GPU的性能。可以看到明显的差别了。
本人在配置caffe环境的过程中,参考了以下博客,特此说明:
【1】http://ouxinyu.github.io/Blogs/20140723001.htmlCaffe + Ubuntu 15.04 + CUDA 7.0 新手安装配置指南
【2】http://blog.csdn.net/yaoxingfu72/article/details/45363097caffe+cuda7.0+opencv3.0.0+mkl
ubuntu14.04配置
【3】http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation
Caffe + Ubuntu 15.04 + CUDA 7.0 安装以及配置的更多相关文章
- 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 ...
- tensorflow 1.8, ubuntu 16.04, cuda 9.0, nvidia-390,安装踩坑指南。
被tensorflow 1.8, ubuntu 16.04, cuda 9.0, nvidia-390折磨了5天,终于上坑,留下指南,造福后人. 1.先把依赖搞清楚: tensorflow 1.8依赖 ...
- Ubuntu 14.04 下 android studio 安装 和 配置【转】
本文转载自:http://blog.csdn.net/xueshanfeihu0/article/details/52979717 Ubuntu 14.04 下 android studio 安装 和 ...
- 【转载】Caffe + Ubuntu 14.04 + CUDA 6.5 新手安装配置指南
洋洋洒洒一大篇,就没截图了,这几天一直在折腾这个东西,实在没办法,不想用Linux但是,为了Caffe,只能如此了,安装这些东西,遇到很多问题,每个问题都要折磨很久,大概第一次就是这样的.想想,之后应 ...
- Ubuntu 16.04 + CUDA 8.0 + cuDNN v5.1 + TensorFlow(GPU support)安装配置详解
随着图像识别和深度学习领域的迅猛发展,GPU时代即将来临.由于GPU处理深度学习算法的高效性,使得配置一台搭载有GPU的服务器变得尤为必要. 本文主要介绍在Ubuntu 16.04环境下如何配置Ten ...
- Caffe + Ubuntu 14.04 64bit + CUDA6.5 + 无GPU 配置
官网: http://caffe.berkeleyvision.org/installation.html#compilation 参考网站: http://www.cnblogs.com/dupul ...
- [Linux 小技巧] Ubuntu 14.04 下编译、安装、配置最新开发版 GoldenDict
1. 背景介绍 GoldenDict 是一款非常优秀的跨平台电子词典软件,支持 StarDict.Babylon 等多种词典.其 PC 版基于 Qt 编写,完全免费.开源且没有广告.GoldenDic ...
- (四)Ubuntu 14.04 文件服务器--samba的安装和配置
samba是Linux系统上的一种文件共享协议,可以实现Windows系统访问Linux系统上的共享资源,现在介绍一下如何在Ubuntu 14.04上安装和配置samba一. 一.更新源列表 打开&q ...
- 第一篇:CUDA 6.0 安装及配置( WIN7 64位 / 英伟达G卡 / VS2010 )
前言 本文讲解如何在VS 2010开发平台中搭建CUDA开发环境. 当前配置: 系统:WIN7 64位 开发平台:VS 2010 显卡:英伟达G卡 CUDA版本:6.0 若配置不同,请谨慎参考本文. ...
随机推荐
- ZooKeeper之(四)配置与命令
4.1 配置文件 ZooKeeper安装好之后,在安装目录的conf文件夹下可以找到一个名为"zoo_sample.cfg"的文件,是ZooKeeper配置文件的模板. ZooKe ...
- strut2接收参数的三种方式
strut2接收参数有三种方式(普通属性\领域对象\模型驱动),分别对三种进行一个总结: 一.普通属性 Jsp代码 <body> <h1>普通属性</h1> < ...
- Swift:Minimizing Annotation with Type Inference
许多程序猿更喜欢比如Python和Javascript这样的动态语言,因为这些语言并不要求程序猿为每个变量声明和管理它们的类型. 在大多数动态类型的语言里,变量可以是任何类型,而类型声明是可选的或者根 ...
- Spark核心类:SQLContext和DataFrame
http://blog.csdn.net/pipisorry/article/details/53320669 pyspark.sql.SQLContext Main entry point for ...
- 微信小程序基础之表单Form的使用
表单Form的应用很广泛,我们可以利用form设计登录注册,也可以设计一种答题问卷的形式,今天主要讲一下form的使用 form表单,将组件内输入的"switch","i ...
- Gradle 1.12用户指南翻译——第五十一章. 发布构件
本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上 ...
- IntelliJ Idea 设置 Dialyzer
IntelliJ Idea 设置 Dialyzer(金庆的专栏)Erlang开发使用IDEA IDE可以设置外部工具Dialyzer, 然后就可以直接Tools->External Tools ...
- PHP学习(3)—在HTML中嵌入PHP
我们以一个提交订单和显示订单信息的例子为学习PHP的开始.这个例子包含两个文件.一个提交订单的html文件:orderform.html,一个显示订单信息的php文件:processorder.php ...
- 使用QGIS将文本坐标转换为矢量文件
本文主要是说明如果使用QGIS将文本格式的点坐标转换为矢量文件(如shapefile格式). 所需工具:QGIS 所需数据:文本格式的点文件 所需要处理的点坐标文件如下所示, 114.2 22.15 ...
- 为何不能在viewDidLoad方法中显示其他视图
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 你可以使得当视图控制器(view controller)显示自 ...