因为要回家几天,这样就只能在笔记本上来跑caffe,于是就开始折腾了。
整个过程分为四个部分,第一步,cuda的安装;第二步Python的安装;第三步matlab的安装,第四步caffe的安装。
本文参考骑士大神的博客,链接:https://ouxinyu.github.io/Blogs/20140723001.html
非常感谢!
第一步 安装cuda7.0
该方法比较简单,不需要切换到tty模式。这里以CUDA 7.0为例。更重要的是解决了笔记本的双显卡困扰,一次成功。
cuda下载链接:https://developer.nvidia.com/cuda-toolkit-archive
一、CUDA Repository
获取CUDA安装包,安装包请自行去NVidia官网下载。
二、CUDA Toolkit
三、Environment Variables
然后,就是进入samples里面,make进行编译,需要40分钟左右的等待时间。
编译完成./deviceQuery进行验证。
第二步安装 Python
1. 安装IDE运行环境
选择一个适合你的IDE运行环境,我是用的是Spyder,因为它内置了 iPython 环境,Caffe有不少的程序是基于 iPython 环境完成的。安装方法很简单,直接在Ubuntu软件中心搜索“spyder”即可安装。
2. iPython NoteBook 安装
另外一个比较推荐的方法是使用iPyhthon NoteBook(基于浏览器的Python IDE),特别是适合需要用Python做教程的老师们,可以直接导出.py, .ipynb, html格式,安装步骤如下:
启动(自动打开浏览器):
$ ipython nootbook
一个简单的使用iPython NoteBook生成的html的例子:examples_notebook.html example_notebook.ipynb
第三步 安装 matlab
安装过程:
1、将crack里面的install.jar移动到2014b/R2014b_glnxa64/java/jar。替换jar里面的install.jar。
2、添加可执行权限chmod -R 777 /R2014b_glnxa64,
然后sudo sh install。注意,有时候这里会报错:
R2014b_glnxa64/bin/glnxa64/install_unix: Permission denied
这是因为没有添加可执行权限,于是来到install_unix的路径下,添加权限,再返回,sudo sh install,接下来就是accept,安装秘钥:file installation key = 29797-39064-48306-32452
一路下来,激活的时候用crack里面的license.lic。
最后将libmwservices.so copy到 /usr/local/MATLAB/R2014b/bin/glnxa64。然后再终端输入:/usr/local/MATLAB/R2014b/bin/matlab就可以打开matlab了。
Python和matlab的编译在第四步中进行。
第四步 安装caffe
caffe官网安装教程:http://caffe.berkeleyvision.org/installation.html
一、安装BLAS
1、安装atlas
安装ATLAS
sudo apt-get install libatlas-base-dev
2、安装mkl
先注册并下载。下载链接是:https://software.intel.com/en-us/intel-education-offerings, 请下载Student版,先申请,然后会立马收到一个邮件(里面有安装序列号),打开照着下载就行了。
二、MKL与CUDA的环境设置
1. 新建intel_mkl.conf, 并编辑之:
/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel64
2. 新建cuda.conf,并编辑之:
/usr/local/cuda/lib64
/lib
3. 完成lib文件的链接操作,执行:
二、安装OpenCV 3.0.0
以前安装caffe时候都是用别人编译好的脚本,直接安装,这样的好处是省力了,坏处时候,有时候会出错,感觉看人品,于是想着自己来下载源码重新编译安装,步骤如下:
参考链接:点击打开链接
1、先到官网下载源码,看自己的需求选择版本:点击打开链接
我的系统是Ubuntu 14.04 LTS 64位。
在安装之前,先执行下面的指令来更新系统(Linux下不建议升级系统!)
- sudo apt-get update
- sudo apt-get upgrade
2、安装Dependencies
执行下面的指令即可:
- 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
3、在官网下载源码,并解压
- mkdir opencv
- cd opencv
- wget https://github.com/Itseez/opencv/archive/3.0.0-rc1.zip -O opencv-3.0.0-rc1.zip
- unzip opencv-3.0.0-rc1.zip
4、安装OpenCV
- cd opencv-3.0.0-rc1
- mkdir build
- cd build
- cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
- make -j $(nproc)
- sudo make install
在这一步可能会出现iippicv的错误,这时候需要先下载 ippicv_linux_20140513.tgz,将解压的文件放入opencv-3.0.0路径下ippicv文件夹,同时在从cmake的时候添加,然后make
- -D WITH_IPP=OFF
5、完成安装
- sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.c
三、安装其他依赖项
1. Google Logging Library(glog),下载地址:https://code.google.com/p/google-glog/,然后解压安装:
如果没有权限就chmod a+x glog-0.3.3 -R , 或者索性 chmod 777 glog-0.3.3 -R , 装完之后,这个文件夹就可以kill了。
2. 其他依赖项,确保都成功
四 、安装caffe并测试
1. 安装pycaffe必须的一些依赖项:
2. 安装配置nVidia cuDNN 加速Caffe模型运算
a. 安装cuDNN
该改版本caffe-master默认支持cudnn-6.5-linux-x64-v2,使用cudnn-6.5-linux-R1会报错,安装前请去先官网下载最新的cuDNN。
b. 链接cuDNN的库文件
3. 切换到Caffe-master的文件夹,生成Makefile.config配置文件,执行:
4. 配置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
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/R2014b
5. 配置Makefile文件(实现对OpenCV 3.x的支持)
查找“Derive include and lib directories”一节,修改“LIBRARIES +=”的最后一行,增加opencv_imgcodecs
opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
6. 编译caffe-master!!!"-j8"是使用CPU的多核进行编译,可以极大地加速编译的速度,建议使用。
编译Python和Matlab用到的caffe文件
然后就可以验证官网的mnist例子了,到此处,caffe就成功安装了。此次安装出现的问题:在make runtest时候出现两个问题:
1、hdf5.h找不到路径,试了网上的方法没有解决,于是只得加上绝对路径,OK。
2、error while loading shared libraries: libcudart.so.7.0: cannot open shared object file: No such file or directory
-> 32-bit: sudo ldconfig /usr/local/cuda/lib
64-bit:
sudo ldconfig /usr/local/cuda/lib64
(refer: http://blog.csdn.net/shenchong721/article/details/21529295)
然后,运行OK。
参考链接:点击打开链接。
备注:caffe训练中,在linux中保存日志便于查看:
1、./examples/mnist/train_lenet.sh |& tee output.log(可重命名)
2、./examples/mnist/train_lenet.sh &>train.log这种方式在打印输出的同时,终端不显示过程。
还有就是ctrl+break手动保存当前工作状态。
还可以不装glog,直接保存成log文件
sh xxxx.sh |& tee 路径/output.log