呕心沥血一个月之caffe安装与配置

   一切从0开始,入坑caffe框架,从最开始的基本硬件知识都欠缺到后来的愈挫愈勇,不是一把辛酸泪能说的清,今天有时间写下来我的安装过程,希望大家以后少走弯路。纯小白,轻喷害羞

    首先说下我的配置:台式  CPU intel酷睿i7 6700k, 独显 gerforce 1080

   接下来步入正题,主要参考欧新宇大神的博客还有其它大神,在此表示万分的感谢,就不一一po链接了,总之走了很多弯路,之前在Windows上装caffe,感觉不好弄,接着又是win 和ubuntu双系统,在ubuntu下装caffe。双系统装了不下20次尴尬,怎么装双系统可以百度下,都是慢慢学会的。

1:装驱动
sudo apt-get update
sudo apt-get upgrade
sudo add-apt-repository ppa:graphics-drivers/ppa
回车后继续:
sudo apt-get update
sudo apt-get install nvidia-375  (sudo ubuntu-drivers devices 查推荐的驱动)
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
之后重启系统让GTX1080显卡驱动生效。
终端输入:
nvidia-smi,会出来如下显卡信息。

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.66                 Driver Version: 375.66                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1080    Off  | 0000:01:00.0      On |                  N/A |
| 39%   38C    P8    14W / 200W |    323MiB /  8108MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0      1380    G   /usr/lib/xorg/Xorg                             188MiB |
|    0      2249    G   compiz                                          69MiB |
|    0      2613    G   ...el-token=33AC4E2FFD5F0FDB382BB4E4FFB7DE1E    64MiB |
+-----------------------------------------------------------------------------+

2:装cuda(自行下载或者欧新宇大神也有提供百度云链接的)
环境检查。PS:官方文档一定要看,很详细,我当时就是一句一句往下看的,不要怕麻烦,每个步骤检查完后自己也很放心。
cuda_8.0.61_375.26_linux.run放在home根目录下。
换回文字界面。ctrl alt f1
  1>:sudo service lightdm stop 关闭图形界面
  2>:sudo sh cuda cuda_8.0.61_375.26_linux.run 
     回车直到100%
     accept
     GRaphics griver    NO !!!因为装过驱动了
     默认的默认,其它yes
 3>:sudo service lightdm start 
 4>:添加环境变量
sudo gedit ~/.bashrc  
export CUDA_HOME=/usr/local/cuda-8.0    
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH   
export PATH=/usr/local/cuda-8.0/bin:$PATH  
保存退出后使其立刻生效
source ~/.bashrc   
  5>:检查
(1)查看cuda版本
nvcc --version  
(2)最后进入cuda自带的例子中看cuda是否已正确配置 
14.04先装g++ sudo apt-get install g++
cd /home/yan/NVIDIA_CUDA-8.0_Samples/
make -j16
(3)进入例程
cd ~/NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release  
./deviceQuery  

3:装cudnn (这是用于DNN的GPU加速库,自行下载)
cudnn-8.0-linux-x64-v5.1.tgz放在home
$ tar zxvf  cudnn-8.0-linux-x64-v5.1.tgz
$ cd cuda
$ sudo cp include/cudnn.h /usr/local/include
$ sudo cp lib64/libcudnn.* /usr/local/lib
$ sudo ln -sf /usr/local/lib/libcudnn.so.5.1.3 /usr/local/lib/libcudnn.so.5(根据自己的情况.tab大法好)
$ sudo ln -sf /usr/local/lib/libcudnn.so.5 /usr/local/lib/libcudnn.so
$ sudo ldconfig -v

4:装mkl (用的学校邮箱注册的)
$ cd /home/yan/
$ tar zxvf parallel_studio_xe_2016_update3.tgz   #解压下载文件  
$ chmod 777 parallel_studio_xe_2016_update3 -R   #获取文件权限  
$ cd parallel_studio_xe_2016_update3/  
$ sudo ./install_GUI.sh  

上述命令后会跳出一个安装界面,其中需要输入license,从网站上获取: license ,进入该网站后点击信封那里就会给你之前注册过的邮箱发送含有license的邮件,输入即可正常安装。

安装完成后进行相关文件链接
$ sudo gedit /etc/ld.so.conf.d/intel_mkl.conf  
在打开的文件中添加库文件
/opt/intel/lib/intel64  
/opt/intel/mkl/lib/intel64  
添加完成后编译生效
$ sudo ldconfig  

5:安装opencv3.1(Opencv是开源的计算机视觉库,装这个搞了好几遍,最后才找出行之有效的方法,感谢提供方法的大神们)
安装依赖
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

optional:
sudo apt-get install checkinstall yasm libtiff5-dev libjpeg-dev libjasper-dev libdc1394-22-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils libeigen3-dev

下载openCV
      到官网http://opencv.org/downloads.html下载openCV 3.1.0,连接可能有点慢。下载完后解压。

安装openCV
cd opencv-3.1.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
在此过程中,很有可能会出现错误:ICV: Downloading ippicv_linux_20151201.tgz 超时。我只有一次在网速非常非常快的环境成功Download ippicv_linux_20151201.tgz。
这个部分可有可无,不过我还是选择去网上下载。直接搜索文件名即可。
    下载完后替换opencv-3.1.0/3rdparty/ippicv/downloads/linux-*目录下的同名文件(名字相同,覆盖替换),重新cmake。
optional(显示指定一些编译内容):
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D ENABLE_FAST_MATH=1 -D WITH_CUDA=ON -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D CUDA_GENERATION=Auto -D WITH_GSTREAMER_0_10=OFF ..
然后在build目录下:
make -j4
-j4表示四核运算,可根据电脑配置选择。
sudo make install

如遇到‘NppiGraphcutState’ has not been declared,是opencv与cuda8.0不兼容导致的。之前的opencv版本都会有问题,opencv2.4.13没有问题,这是唯一一个2016年发布的版本。解决方法:

在path/to/opencv/modules/cudalegacy/src/graphcuts.cpp中,把
          #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
改为
         #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION>=8000)

6:安装MATLAB2014A
 1>:下载,下载链接 http://pan.baidu.com/s/1hsucG3E  提取密码 nvb6
 2>:预准备
    解压两个压缩文件(最后一步解压时也会将part2一起合并解压):
$ cd matlab2014/  
$ unrar x MATHWORKS_R2014A.part1.rar 
    将Mathworks.iso - 右键 - 使用磁盘映像挂载器打开”,进入装载的虚拟光盘,拷贝全部文件至home/Matlab 文件夹(想要安装的路径)(PS:取名不要有空格)
复制Crack/install.jar至 home/Matlab/Java/jar/ 并覆盖源文件
    sudo cp matlab2014/crack/install.jar /home/yan/Matlab/java/jar/  
#给安装路径及其子文件夹赋予执行权限  
    chmod a+x Matlab -R  
  3>:安装
     #cd 到安装文件夹下 
     cd MATLAB 
     sudo ./install   
接着会出现一个类似window的安装窗口,按以下步骤操作
选项:不使用Internet安装 
序列号: 12345-67890-12345-67890 (随意20位数据)
默认路径:/usr/local/MATLAB/R2014a 
建议全选安装
勾选从默认启动路径创建符号链接(实现在任意位置运行matlab启动程序) 
激活文件:Crack/license_405329_R2014a.lic 
拷贝 Crack/linux目录下的libmwservices.so 至 /usr/local/MATLAB/R2014a/bin/glnxa64
 sudo cp libmwservices.so /usr/local/MATLAB/R2014a/bin/glnxa64/     

7:安装其它依赖项
Google Logging Library(glog),下载地址:https://code.google.com/p/google-glog/,然后解压安装:
$ tar zxvf glog-0.3.3.tar.gz
$ ./configure
$ make
$ sudo make install

8:其他依赖项,确保都成功
$ sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev
libgoogle-glog-dev liblmdb-dev protobuf-compiler protobuf-c-compiler protobuf-compiler

9:安装Caffe并测试
9.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
9.2. 切换到Caffe-master的文件夹,生成Makefile.config配置文件,执行:
$ cp Makefile.config.example Makefile.config
9.3.配置Makefile.config文件(仅列出修改部分)
a. 启用CUDNN,去掉"#"
USE_CUDNN := 1
b. 配置一些引用文件(增加部分主要是解决新版本下,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
c. 启用Intel Parallel Studio XE 2016
BLAS := mkl
d. 配置路径,实现caffe对Python和Matlab接口的支持
PYTHON_LIB := /usr/local/lib
MATLAB_DIR := /usr/local/MATLAB/R2014a
c. 启用OpenCV 3.0, 去掉"#"
OPENCV_VERSION =3
9.4:编译caffe-master!!!"-j16"是使用CPU的多核进行编译,可以极大地加速编译的速度,建议使用。
$ make all -j16
$ make test -j16
$ make runtest -j16
编译Python和Matlab用到的caffe文件
$ make pycaffe -j16
$ make matcaffe -j16

10:使用mnist测试
数据集的准备:
caffe源码框架的data/mnist文件夹下有MNIST数据集的下载脚本get_mnist.sh.
10.1.首先将路径切换到caffe的根目录下 
$ sh data/mnist/get_mnist.sh
运行完成后在data/mnist文件夹下会出现四个二进制文件(根据自己的情况,如果下载下来是压缩包则需要进行解压)。
10.2.进行原数据集的下载
(首先先检查你的网络是否连接哦)
运行get_mnist.sh脚本,重建lmdb文件。Caffe支持多种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,HDF5等,根据自己需要选择不同输入吧。
$ sh examples/mnist/create_mnist.sh
生成mnist-train-lmdb 和 mnist-train-lmdb文件夹,这里包含了lmdb格式的数据集
10.3. 训练mnist
$ sh examples/mnist/train_lenet.sh

到此为止,万里长征算迈出一步了。再次感谢各位大神,不过网上好多方法,哪个可以只有试了才知道,具体安装还是要根据自己电脑的配置来哦,回想被caffe折磨的一个月,心疼地抱不住自己哭,大家一定要戒骄戒躁,静下心来搞,祝你们顺利哦吐舌头

  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值