为了给大家节省时间,安装所需要的软件都上传在360云上了,我也是一个一个的找的,都是可用的撒。
连接:http://yunpan.cn/cK5AKHmmAqRHE 访问密码 faf8
MKL安装码是:SKCG-8ZSGXW8J
参考了几篇blog和caffe官方教程,很感激撒:http://caffe.berkeleyvision.org/installation.html
http://www.cnblogs.com/platero/p/3993877.html
http://blog.csdn.net/baobei0112/article/details/43083235
http://blog.csdn.net/zhouxy0901/article/details/39163877
http://blog.csdn.net/dreamthen/article/details/8765472
然后说下我比较弱的电脑配置:X86台式机、6GB内存、i3-2120双核、Nvidia GeForce GT440(1GB)、500G硬盘、Windows 7操作系统
运行mnist例子600s,和i7、GTX770、16G配置电脑做下对比测试:600s:160s。希望大家尽可能的用配置高的电脑撒。
一、安装linux系统
1、将云盘中ubuntu-12.04.iso文件刻录成光盘,从光盘安装双系统
2、重启,待屏幕亮时持续按住F12或者F8 键进入boot 界面(不同的电脑可能按键不一,笔者的笔记本是F12,台式的为F8),进入boot 界面后,选择通过光盘 启动进入。
3、选择简体中文
4、进入下面界面,勾选安装中下载更新、安装这个第三方软件两项
5、下一个界面中,有清楚整个磁盘并安装ubuntu、其他选项两项,选第二个,然后做最关键的一部分创建、调整分区
6、分区设置如下:
到上图这一步后一定要找到红色划线部分的空闲区间,当初你分出来的盘是多大,图中就会显示多大,找到后双击空闲区间那一部分会弹出分配框让你进行分配.而黄色画圈部分的选项一定要选择被分为/boot 的那个区(应该为整个硬盘大小的选项),如果不是整个磁盘的大小会导致安装结束后不能进入系统。
分区共四个,比较合理:
1),新分区的类型:选择“主分区”,
新建分区容量:输入分配的大小,以MB 为单位
新分区的位置:按默认选“起始”
用于:后面选择新分区使用的文件系统,使用默认“Ext4 日志文件系统”
挂载点:选择“/”。不能小于20G,MKL安装默认在opt/intel,需要8G内存,系统安装需要6、7G
2),创建交换空间
再选择空闲空间,点“添加”按钮。
新分区的类型:选择“逻辑分区”
新建分区容量:输入交换空间分配的大小,以MB 为单位
新分区的位置:按默认选“起始”
用于:后面选择“交换空间”
交换空间不用选择挂载点,所以挂载点为灰色不可选
一般是内存的1.5~2倍,所以我选择9G
3),创建“/home”分区
继续选择空闲空间,点“添加”按钮。
新分区的类型:逻辑分区
新建分区容量:剩余的空间
新分区的位置:起始
用于:选择” Ext4 日志文件系统”
挂载点:/home。
点“确定”按钮。
这个部分越大越好,以后会存放数据集之类的。条件限制我只用了130G
4),创建“/boot”分区
继续选择空闲空间,点“添加”按钮。
新分区的类型:逻辑分区
新建分区容量:200M 新分区的位置:起始
用于:选择” Ext4 日志文件系统”
挂载点:/boot。
点“确定”按钮。
因为在Windows7下安装,要的是双系统,所以要创建/boot 分区,否则这一项可以省略.
注意:/分区就是linux系统的文件系统分区,类似windows 的系统盘,如c 盘;swap 为交换分区,一般为内存两倍;/boot 为引导分区200M足够;/home为个人文档分区
7、继续选择所在地为shanghai,键盘为英语(美国),建立账户和密码。
8、安装完毕后,重启计算机即可。
二、正式开始配置
1. 安装build-essentials
安装开发所需要的一些基本包
sudo apt-get install build-essential
2、安装cuda6.5
然后通过下列命令, 将下载得到的.run文件解压成三个文件(tty中解压路径怎么都配不对所以挪出来先解压好), 分别为
CUDA安装包: cuda-linux64-rel-6.5.14-18749181.run
NVIDIA驱动: NVIDIA-Linux-x86_64-340.29.run
SAMPLE包: cuda-samples-linux-6.5.14-18745345.run
sudo cuda6.5.run --extract=extract_path
解压后的文件和未解压的.run文件都要要存放在英文的目录里,因为等下去tty界面不显示中文
然后在已经安装了ubunt12.04 64位操作系统,按 ctrl+alt+t (只有nvidia的驱动在tyy中装载)打开终端:
(1)安装必要的库
--sudo apt-get install build-essential
--sudo apt-get install freeglut3-dev
--sudo apt-get update
(2)将Ubuntu集成的NVIDIA驱动,否则会造成冲突。
--sudo apt-get remove --purge nvidia*
将nouveau加入黑名单
--sudo gedit /etc/modprobe.d/blacklist.conf
并在blacklist amd76x_edac后面加上以下几句,然后点击ctrl + o保存文档,在按ctrl + x 关闭文档
--blacklist vga16fb
--blacklist nouveau
--blacklist rivafb
--blacklist nvidiafb
--blacklist rivatv
(3)重启系统(这个必须要有,否则有可能造成安装不成功下面的步骤)
(4)Ctrl+Alt+F1, 登陆文本界面安装
a、--sudo service lightdm stop (注意Ubuntu12.04下采用的lightdm作为它的X Server,而早期的版本采用的是gdm)
b、--cd 到cuda_6.5.14_linux_64.run所在目录,输入一下命令:
--chmod +x cuda_6.5.14_linux_64.run 第一次安装的时候必须要有这一步
--sudo ./ cuda_6.5.14_linux_64.run
c、一路选择接受,默认就是了。
(5)得到以下安装结果
Driver: Installed
Toolkit: Installed In /Usr/Local/Cuda-6.5
Samples: Installation Failed. Missing Required Libraries.(不要捉急,也就是SDK安装失败,这个官方手册上也提到了解决方案。)
(6)单独安装SDK
到一开始解压存放的目录去找cuda_samples-linux-6.5.14-18745345.run
--sudo sh cuda_samples-linux-6.5.14-18745345.run
现在可以退出tty了,不用这么糟心了!
--sudo service lightdm start
(8)环境变量的配置
a、打开文本
--sudo gedit ~/.bashrc
b、在最后一行添加
--export PATH=/usr/local/cuda-6.5/bin:$PATH
--export LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH
c、生效环境
--source ~/.bashrc
(9)查看nvcc编译器是否成功
输入命令 nvcc -V
将会看到现实一下信息:
a、sudo find /usr -name libglut\*成功后会看到:
/usr/lib/x86_64-linux-gnu/libglut.a
/usr/lib/x86_64-linux-gnu/libglut.so.3.9.0
/usr/lib/x86_64-linux-gnu/libglut.so.3
/usr/lib/x86_64-linux-gnu/libglut.so
/usr/lib/libglut.so
b、编辑链接:
--sudo ln -s /usr/lib/x86_64-linux-gnu/libglut.so.3 /usr/lib/libglut.so
(11)运行deviceQuery
a、cd 到 /usr/local/cuda/samples/1_Utilities/deviceQuery下输入
-- sudo make 不加sudo编译会有错误
b、cd到~/NVIDIA_CUDA-6.5_Samples/bin/x86_64/linux/release
-- ./deviceQuery
或者
a、--cd ~/NVIDIA_CUDA-6.5_Samples/,输入 (注意这里耗时比较大,在运行这个步奏的同时可以再打开一个终端装opencv_2.4.9,opencv大概需要1个多小时的时间)
--sudo make
b、编译完成后便可以执行,cd到~/NVIDIA_CUDA-6.5_Samples/bin/x86_64/linux/release
./deviceQuery
(12)安装完成以后,我可若要回到图形界面验证显卡是否安装成功,输入
--sudo service lightdm start
(13)接下来验证是否安装成功,输入
-- sudo nvidia-settings
3、安装OpenCV
下载该脚本,进入Ubuntu/2.4 目录, 给所有shell脚本加上可执行权限
chmod +x *.sh
然后安装最新版本 (当前为2.4.9)
sudo ./opencv2_4_9.sh
脚本会自动安装依赖项,下载安装包,编译并安装OpenCV。整个过程大概一个多小时左右。
注意,中途可能会报错
opencv-2.4.9/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp(51): error: a storage class is not allowed in an explicit specialization
解决方法在此:http://code.opencv.org/issues/3814 下载 NCVPixelOperations.hpp 替换掉opencv2.4.9内的文件, 重新build。
在云盘里有下载好的NCVPixelOperations.hpp,用它做替换就可以了
文件系统中不能复制粘贴,此时要打开root权限
--sudo nautilus 打开计算机界面中就可以使用root权限就可以将刚才复制的NCVPixelOperations.hpp粘贴,并将此前文件删除
注意:这个地方要替换的有两个地方,一个在opencv-2.4.9/modules/gpu/src/nvidia/core/中,另一个在opencv-2.4.9/modules/gpu/src/nvidia/中,不确定的话可以搜索看一下。
然后进入目录重新build
--mkdir build
--cd build
--cmake
这时makefile已经生成好了
-- make
--sudo make install
Opencv2.4.9就已经装好了
4、安装Intel MKL
解压安装包,下面有一个install_GUI.sh文件, 执行该文件,会出现图形安装界面,根据说明一步一步执行即可。
注意: 安装完成后需要添加library路径,如果根目录的空间不够,记住自定义的path,把下文的opt/intel/~替换,特别是caffe中的makefile的这个路径也要替换
sudo gedit /etc/ld.so.conf.d/intel_mkl.conf
在文件中添加内容
/opt/intel/lib
/opt/intel/mkl/lib/intel64
注意把路径替换成自己的安装路径。 编辑完后执行
sudo ldconfig
5. 安装其他依赖项
Ubuntu12.04用户执行
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev (protobuf-compiler,ubuntu14.04中需要安装,12.04不需要)
顺序不能变,如果先安装glag,安装glog的时候会出错。这三个软件要单独下载,在云盘里有撒。
# glog
wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz
tar zxvf glog-0.3.3.tar.gz
cd glog-0.3.3
./configure
make && make install
# gflags
wget https://github.com/schuhschuh/gflags/archive/master.zip
unzip master.zip
cd gflags-master
mkdir build && cd build
export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
make && make install
# lmdb
git clone git://gitorious.org/mdb/mdb.git
cd mdb/libraries/liblmdb
make && make install
其他版本用户参考官方说明:http://caffe.berkeleyvision.org/installation.html
6、安装caffe所需要的Pythonh环境
IDE工作环境的配置,可以安装anaconda包,本文采用的是Spyder,因为它内置了 iPython 环境,Caffe有不少的程序是基于 iPython 环境完成的。安装方法很简单,直接在Ubuntu软件中心搜索“spyder”即可安装。
7、编译Caffe
Caffe(convolutional architecture for fast feature embedding)
终于完成了所有环境的配置,可以愉快的编译Caffe了! 进入caffe根目录, 首先复制一份Makefile.config
cp Makefile.config.example Makefile.config
然后修改里面的内容,主要需要修改的参数包括
CPU_ONLY 是否只使用CPU模式,没有GPU没安装CUDA的同学可以打开这个选项
BLAS (使用intel mkl还是OpenBLAS)
没有用到这部分:MATLAB_DIR 如果需要使用MATLAB wrapper的同学需要指定matlab的安装路径, 如我的路径为 /usr/local/MATLAB/R2013b (注意该目录下需要包含bin文件夹,bin文件夹里应该包含mex二进制程序)
DEBUG 是否使用debug模式,打开此选项则可以在eclipse或者NSight中debug程序
有更多的设置需求请在makefile中设置,makefile.config只是makefile中的一部分
完成设置后, 开始编译
make all
make test
make runtest
最后成功编译,有个报错‘“you have 2 disabled tests”
ignore it,there are two unit tests that are disabled because the feature they are were testing was pulled fast gpu
hamming distance
小白caffe安装成功了,下载软件比较麻烦,所以都给大家下载好了,但不一定长期有效撒。