终于,就像一位的博主的话“当你努力到把自己都要感动了的时候,你就离成功不远了”,Ubuntu中 caffe 环境搭建,算是基本搭建成功了。
这真是一件很考验人的韧性的事情,为了装caffe,我的电脑被错误的格式化了两次,此时我的内心是崩溃的。装体统装了无数遍(周围的的小伙伴们都看不下去了,说我每天的事情除了装系统,还是装系统),前后用了将近3个月的时间。为什么感觉别人说的是那么的轻松easy。
说说我的硬件情况以及安装过程,可能还有各种问题,希望与志同道合之士共同学习
硬件:联想天逸5050台式机,(啊,就这么一个硬件吗?恩是的。)
过程概要:双系统(win7/10,ubuntu16.04)
Caffe依赖项的安装,
Cuda 8.0
CuDNN
MatlabR2014a_Linux64
caffe的编译和测试
双系统的安装
为什么要选择双系统呢?因为虚拟机实在是不行,有原因说是显卡驱动安装会有问题。再者作为实用来说,还是不能没有windows的。
在安装了一些程序之后进入不了图像界面,原因:并且不要一开始就更新系统补丁什么的,因为系统更新过之后,再安装显卡驱动就会无法进入图形界面,我查看了相关的日志发现是卡在了dbus那边。所以,我建议一安装好ubuntu 14.04就不要更新系统补丁。
1.虚拟机ubuntu
在vmware虚拟机上安装caffe的环境,此时,我的虚拟机还是可以通过桥接联网的。但是就在我安装完显卡驱动的时候,重启之后,就再也进不去图形界面了。每次输完密码就闪一下然后又回到了登陆界面。
----- 遇到的问题一:安装完显卡驱动无法进入图形系统
2.实体机安装ubuntu
然而网上也有说是存储空间不足引起的,我误以为是这个原因,所以就果断装双系统,并且为了彻底解决存储不足的原因,买了一块移动硬盘专门用来安装ubuntu。
也就是现在安装双硬盘的双系统。我的电脑主机原本是win10,往移动硬盘上安装ubuntu,在选择安装引导启动项时,选择成了电脑主机的硬盘,结果我的原电脑主机就全部格式化了,我的资料啊,就这样没了一点不留。
----- 遇到的问题二,安装ubuntu时,选择引导启动项,千万不能选择源win系统盘
第一次实体机安装ubuntu就这样惨败。我又安装了win7,偏于习惯,我又花了些时间升级到win10,但是由于是盗版升级的,所以问题多多。但是由于我急于安装ubuntu,也就将就用了。好了,继续往硬盘上安装ubuntu,在进入安装分区界面时,我分好区,下一步格式化的时候,问题又来了“您的分区开始位置不对”(好像大致就是这个意思),试了多遍还是不行,我又找来分区工具DiskGenius,先分好区,然后再在安装的时候直接格式化分区,不在进行分区,有时可行,有时不行。
----遇到的问题三,分区时,分区开始位置不对,会影响效果,但是这样根本无法安装。最多主分区4个
安装ubuntu时,选择U盘安装时会有连个选择Legacy和UTF1,不知道我选择第二个安装时总是安装失败,试了很多遍都一样的结果。所以我选择的是Legacy安装模式。
----遇到的问题四,选择UEF1安装模式时,会提示错误,“……If you continue to install Debian in UEF1 mode,it might be difficultto reboot the meachine into any BIOS-mode operating systems later ……”,果然快安装完的时候,就会提示错误,安装失败,然后进入grub
-----这个grub模式实在难搞
算是ubuntu基本安装完了,接下来就要双系统启动引导,在windows使用easyBCD设置启动引导,这个比较简单,但是要注意选择Drive时,要选择/boot所在的分区。
·3.联网
双系统算是安装完了,可是连不了网,我的是校园网,需要登陆账号验证,但是就是没法连接有线网。我借了一个无线网卡接收器,无线就能上网了(可是我的是台式机啊,让我用无线上网,我不甘心啊)。
----遇到的问题五:无线网可以连接,ubuntu有线网无法连接
我试了网上的各种方法,改interface,使用静态网址,networking等,好多方法都不行,我又找来一个同学帮忙各种尝试,还是不行还是有线网不能连接。
同时又发现一个问题,好多软件都没有安装,比如vim都没有,因此我开始怀疑我的ubuntu是不是安装不完整。
同学说的另一个可能的问题:是不是移动硬盘是第二块硬盘,整个系统启动的方式就有问题才导致的不能联网。
因此,我又开始了无穷尽的ubuntu系统的安装,(1)先是在硬盘上安装了好多遍,结果一样,并且安装过程中有出现好多文件没有找到、跳过的操作。(2)我又在主机硬盘上分出了500G的分区安装了双系统,结果和在移动硬盘傻瓜结果一样,并且过程也一样,(3),我又在安装了虚拟机并安装了ubuntu,结果还是连不上网,(4)是不是我的系统镜像有问题,我又换了好几个镜像16的几个版本,15、14的,结果还是一样,(5)主机安装windows,只安装ubuntu,结果还是一样(出现错误提示,不能连接有线网,没有安装vim等)。
这下我就彻底无望了,找不到出路了。
最好只好退一步,将移动硬盘退出,在主机上装上win7+Ubuntu双系统(无线上网),联网可以安装vim等,看来系统本身安装还是没有什么大问题的。所以我就将就将就系统就这样吧,看看后面caffe能不能安装成功再说。
CAFFE的安装
网上也充斥这各种教程,找到合适的教程也是非常重要的。
知乎还是很好的选择
我参考的教程有:
https://www.zhihu.com/question/48237152
https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-Guide
http://blog.csdn.net/xuhang0910/article/details/50179759
caffe 官方指导http://caffe.berkeleyvision.org/install_apt.html
http://blog.csdn.net/xizero00/article/details/52549883
1.依赖项
1). 安装一般依赖项(General dependencies)
sudo apt-get install libprotobuf-dev libleveldb-devlib snappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install -y libopencv-dev
2). BLAS安装
sudo apt-getinstall libatlas-base-dev
or install OpenBLAS or MKL for better CPUperformance.
sudo apt-get install libopenblas-dev
3). 谷歌glog和gflags和lmdb依赖项
sudo apt-get install libgflags-devlibgoogle-glog-dev liblmdb-dev
2 .CUDA
Compatibility notes, 16.04
CUDA 8 is required on Ubuntu 16.04.
安装(下载对应的deb(local))
sudo dpkg -icuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
sudo apt-get update
sudo apt-get install cuda
然后
sudo gedit /etc/bash.bashrc
在文件的末尾加入如下
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
/etc/ld.so.conf.d/中新建一个cuda8.0.conf
然后加入/usr/local/cuda-8.0/lib64
关机重启
测试安装成功与否
nvidia-smi
nvidia-settings
这样就表示CUDA安装OK、
3.CuCNN的安装
安装前请去先官网下载最新的cuDNN (cudnn-70-linux-x64-v3)。
转到解压好的cudnn目录
$ sudo cp include/cudnn.h/usr/local/include
$ sudo cp lib64/libcudnn.*/usr/local/lib
$ sudo cp include/cudnn.h/usr/local/include
$ sudo cp lib64/libcudnn.* /usr/local/lib
链接cuDNN的库文件
$ sudo ln -sf /usr/local/lib/libcudnn.so.7.0.64/usr/local/lib/libcudnn.so.7.0
$ sudo ln -sf/usr/local/lib/libcudnn.so.7.0 /usr/local/lib/libcudnn.so
$ sudo ldconfig –v
4.Matlab安装、
1.解压
2.cd matlab then 执行命令 sudo ./install
3、选择不联网安装
4、密钥随便输入,比如
12313-94680-65562-90832(in the readme file)
5、激活:选择”license_405329_R2014a
.lic”文件进行激活(在Crack文件夹下面)
6、将libmwservices
.so复制到/usr/local/MATLAB/R2014a/bin/glnxa64中:
sudo
cp libmwservices
.so /usr/local/MATLAB/R2014a/bin/glnxa64/libmwservices
.so
启动matlab
sudo /usr/local/MATLAB/R2014a/bin/matlab
5.下载caffe
sudo apt-get install git
git clone https://github.com/BVLC/caffe.git
然后进入到源码目录
cd caffe
编译Caffe
cp Makefile.config.example Makefile.config
对此文件的修改至关重要:
启用Cudnn
USE_CuDNN = 1
配置一些引用问题(主要是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
Blas
BLAS = open
MATLAB_DIR:= /usr/local/MATLAB/R2014a
启用OpenCV 3.0, 去掉"#"(if you install opencv 3 serial)
OPENCV_VERSION=3
编译Caffe,转到caffe路径
Sudo make all -j8
Sudo make test -j8
sudo make runtest-j8
编译对matlab的支持
sudo make pycaffe -j8
sudo make matcaffe -j8
使用MNIST数据进行测试
Caffe默认情况会安装在$CAFFE_ROOT,就是解压到那个目录,例如:$ home/username/caffe-master,所以下面的工作,默认已经切换到了该工作目录。下面的工作主要是,用于测试Caffe是否工作正常,不做详细评估。具体设置请参考官网:http://caffe.berkeleyvision.org/gathered/examples/mnist.html
1. 数据预处理
$ sh data/mnist/get_mnist.sh
2. 重建lmdb文件。Caffe支持多种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,HDF5等,根据自己需要选择不同输入吧。
$ sh examples/mnist/create_mnist.sh
生成mnist-train-lmdb和 mnist-train-lmdb文件夹,这里包含了lmdb格式的数据集
3. 训练mnist
$ sh examples/mnist/train_lenet.sh
finally ,will show "Optimization Done.",congratulation!
至此,caffe 框架算是基本搭建完毕