无GPU配置的Caffe+Ubuntu14.04+64bit的小白配置教程

1、安装开发所需要的一些基本包

sudo apt-get install build-essential
sudo apt-get install vim cmake git
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev
2、CUDA安装
这一步包括三个部分: 
  
  
  1. nvidia驱动
  2. cuda-toolkit
  3. cuda-samples

  在CPU模式下仅需要安装cuda-toolkit,接下来介绍如何安装cuda-toolkit

  2.1 下载CUDA6.5  http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.14_linux_64.run

解压下载得到的.run文件,得到三个文件,我们只安装第一个,即cuda-toolkit包

    • 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
sh ./Downloads/cuda_6.5.14_linux_64.run --noexec --target ./Downloads  
意思是不运行安装脚本,把.run文件解压到Downloads目录。
然后cd 到Downloads下的 run files文件夹里面
chmod +x *.run

安装CUDA需要在纯命令行下进行(非常重要),按 ctrl+alt+F1进入tty,登录后执行如下命令

sudo service lightdm stop  

或者

sudo stop lightdm

执行下列命令安装CUDA,按照提示一步步安装,其中会让你选择安装目录,接受协议等,为方便选择默认路径,直接回车即可。


sudo ./cuda-linux64-rel-6.5.14-18749181.run

3、添加环境变量

sudo vim /etc/profile

安装完成后在/etc/profile中添加环境变量,在文件最后添加

PATH=/usr/local/cuda-6.5/bin:$PATH
export PATH

    保存后,执行下列命令,使环境变量立即生效

source /etc/profile

 4、 添加lib库路径 

sudo vim /etc/ld.so.conf

里面有incluede xxxxxxxxx

加上 include /usr/local/cuda-6.5/lib64

    在/etc/ld.so.conf.d/目录下增加文件cuda.conf,内容如下 

/usr/local/cuda-6.5/lib64

    执行下列命令立刻生效

sudo ldconfig

5、退出命令行

sudo service lightdm start

或者

sudo start lightdm

6、安装BLAS
参考http://blog.sina.com.cn/s/blog_6d09848701018smp.html
$mkdir openblas
   $cd openblas
然后下载git库
   $git clone https://github.com/xianyi/OpenBLAS.git
   $cOpenBLAS
然后编译
   $make
   这个编译是很帅的,是多线程编译。编译好之后安装之
   $sudo make install

安装完后添加lib路径,

sudo vim /etc/ld.so.conf

在/etc/ld.so.conf.d/目录下新建OpenBLAS.conf,内容:

/openblas/OpenBLAS/lib

即在下面加上include /openblas/OpenBLAS/lib

使之生效:

sudo ldconfig

7、安装Opencv

(1) 从github上下载安装脚本:https://github.com/jayrambhia/Install-OpenCV

(2) cd 到InstallOPENCV
cd进到Ubuntu目录,对所有脚本增加可执行权限
sudo chmod +x *.sh

安装最新版本(当前为2.4.9),有人自己写了2.4.20版本的,有兴趣的可以去下:http://pan.baidu.com/s/1m3hQu

(3)    安装依赖项

sudo ./dependencies.sh
(4)cd 2.4
   sudo sh ./opencv2_4.9.sh

8、安装其它依赖项

  Ubuntu14.04用户执行

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

  其它版本参考官网说明

9、安装Python环境
在Ubuntu的软件中心 搜索 spyder  它内置了iPython环境
10.编译Caffe

  
  
  
  
cp Makefile.config.example Makefile.config
  •       根据自己环境修改Makefile.config的相应内容

   1 取消 CPU_ONLY := 1前面的注释

   2. cuda 安装路径改为自己的路径 : CUDA_DIR := /usr/local/cuda-6.5

     3. 配置路径:实现caffe对python和matlab接口的支持  

复制代码
PYTHON_INCLUDE := /usr/include/python2.7 \

/usr/lib/python2.7/dist-packages/numpy/core/include

PYTHON_LIB := /usr/local/lib

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

MATLAB_DIR := /usr/local/MATLAB/R2014a
复制代码

      4. BLAS := open (根据自己选择的版本,分别设为atlas, mkl, open

同时也要记得把BLAS的路径去掉注释

然后加入路径

/openblas/include

/openblas/lib

  •    编译caffe
sudo make all -j2
sudo make test 
sudo make runtest

    在一这步可能会碰到问题:undefined refrence to ' cudaGetDevice '

    解决方法:

      1. 修改Makefile.config, 修改CUSTOM_CXX := g++-4.6

      2. 执行命令 sudo apt-get install gcc-4.6 g++-4.6 gcc-4.6-multilib g++-4.6-multilib
      3. 修改以下两个文件
        vi src/caffe/common.cpp
        vi tools/caffe.cpp
        使用google替代gflags

      4. 重新make

   如果在make的过程中提示:“error while loading shared libraries: xxx.so.x”,可能是cuda及OpenBLAS环境变量没有设置正确,检查相应步骤,可参考:http://blog.csdn.net/sahusoft/article/details/7388617


 
 
 
 
10、编译python wrapper
  
  
make pycaffe

  
  
11、测试lenet

这部分可参考caffe官网:http://caffe.berkeleyvision.org/gathered/examples/mnist.html,非常详细。

  注:这一部分默认在caffe的根目录下完成,不能去相应的子目录下执行脚本,因为脚本中的路径是相对于caffe目标的相对路径 。

  1. 获取数据: sudo sh data/mnist/get_mnist.sh
  2. 重建lmdb/ leveldb文件,caffe支持三种数据格式输入: images(.jpg,.png等),leveldb, lmdb
  3. ./examples/mnist/create_mnist.sh
  4. 第3步可能会出现错误:
    error while loading shared libraries: libopenblas.so.0: cannot open shared object file: No such file or directory
  5. 解决方法:我的是这个方法解决的The fix is the following: 参见https://github.com/sermanet/OverFeat/issues/10
    
    
  6. (可能http://blog.csdn.net/jjff46/article/details/38072433中的
          
          
    1. sudo su  
    2. cat /etc/ld.so.conf  
    3. echo "/usr/local/lib" >> /etc/ld.so.conf  
    4. ldconfig  
    有可能也会有用 先mark一下)  1、sudo apt-get install libopenblas-base And then  2、export LD_LIBRARY_PATH=/usr/lib/openblas-base/
  7. 
    Although, if you build from source, I think you could change the LD_LIBRARY_PATH and you would be fine
    
    
    3、 export LD_LIBRARY_PATH=/opt/OpenBLAS/lib/
  8. 切换到CPU模式: 在lenet_solver.prototxt中修改 solover_mode = CPU , 在最后一行
  9. 训练minist: sudo sh examples/mnist/train_lenet.sh

  没有错误的话,就可以看到一串串的输出信息啦。



参考:
http://blog.csdn.net/hunterlew/article/details/52069093
http://blog.csdn.net/w_u_yang/article/details/50269115
http://www.cnblogs.com/dupuleng/articles/4213834.html
https://gist.github.com/bearpaw/c38ef18ec45ba6548ec0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值