ubuntu16.04.3中caffe编译

深度学习 同时被 3 个专栏收录
1 篇文章 0 订阅
3 篇文章 0 订阅
1 篇文章 0 订阅

ubuntu16.04.3中caffe编译

1、系统环境说明

    利用lsb_release -a命令和uname -a命令查看操作系统信息或者直接点击右上角菜单中的“关于这台计算机”。

    输入python命令可以看到Python的版本为Python 2.7.12 ,不要忘了quit()出来

2、安装依赖包

    输入以下命令:

          sudo apt-get install libprotobuf-dev

         sudo apt-getinstall libleveldb-dev

         sudo apt-getinstall libsnappy-dev

         sudo apt-get install libopencv-dev

         sudo apt-get install libhdf5-serial-dev

         sudo apt-get install protobuf-compiler

         sudo apt-get install libgflags-dev

         sudo apt-get install libgoogle-glog-dev

         sudo apt-get install liblmdb-dev

         sudo apt-get install libatlas-base-dev

         sudo apt-get install --no-install-recommends libboost-all-dev

(在这里有一个sudo apt-get install python-dev的命令没有输入,不知道是否有影响)

2、下载caffe

(1)安装git工具:

        sudo apt-get install git

(2)下载caffe包:

    首先创建一个文件夹用来存放caffe包,然后开始下载:

        git clone https://github.com/bvlc/caffe.git

(3)安装python接口依赖项:(这些依赖项在/caffe/python中的requirements.txt文件中)

    进入caffe目录下:

        cd caffe

    进入里面的PYTHON文件夹,输入:

        cd python

        for req in $(cat requirements.txt); do pip install $req; done

    如果没有pip需要先进行安装:sudo apt install python-pip

3、安装caffe

(1)复制Makefile.config.example文件,改名为Makefile.config文件:

        cp Makefile.config.example Makefile.config

(2)根据需要修改Makefile.config文件,博主比较关注的是CPU还是GPU模式、是否使用cuDNN以及CUDA接口这三个问题:

    根据以往的经验加上博主的电脑GPU和显存都不是十分理想,因此博主选择来CPU模式,就不用管CUDA了。同时,友情提示:打开cuDNN功能会导致网络结构很大而系统显存不够用,所以请量力而行(初始化网络就需要5G+的显存);

    基于以上需求,博主作出如下改动:

1)将CPU_ONLY = 1前的注释符号删去,这是为了实现CPU模式,具体位置如下图:

2)更改hdf5路径,否则编译时会报hdf5错误,更改内容如下:

# Whatever else you find you need goes here.

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

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial

更改效果如下:

(3)开始编译caffe

    cd定位至caffe文件夹,输入命令:make pycaffe

    遇到如下图所示问题:

分析原因是由于python没有安装numpy模块,手动下载:sudo apt-get install python-numpy

下载完毕后再次输入:make pycaffe,这一次很快就编译完成了(博主也不知道有咩游问题)

之后输入:make all,完成速度也比博主想象中要快许多(windows编译留下来阴影)

之后输入:make test

完成后输入:make runtest

如果最后显示如下图,表示caffe已经编译成功了:


4、配置Python接口

    此时其实已经可以在python中import caffe,但是必须cd进入/caffe/python的路径中

    之所以会出现这种问题,是因为在系统的环境变量PATH中并没有caffe。有两个选择,第一是更改系统环境变量,第二是在python中对于sys.path进行更改。介于第二个方法对于系统整体影响较小(即使操作失误问题也不大),故博主选择了第二种方法。实现方法是在import python前加以下命令:

import sys

sys.path.append("~/caffe/python/")#这里的~应该是你caffe文件夹的路径

    效果如下图:


5、训练测试——MNIST训练

1)下载数据集

   数据集的下载与解压是通过caffe自带的get_mnist.sh,命令如下:

cd ~/caffe/data/mnist

./get_mnist.sh

    效果如下图:


2)转换格式

   将下载的二进制原始数据集转换为lmdb形式,命令如下:

cd ~/caffe

./examples/mnist/create_mnist.sh

    效果如下图:


3)开始训练

   介于我们编译的是CPU_ONLY的caffe框架,因此需要先进入~/caffe/examples/mnist中修改lenet_solver.prototxt文件,修改训练测略:将最后一行的solver_mode: GPU改为solver_mode: GPU,如下图所示:


    之后输入以下命令进行训练:

./examples/mnist/lenet_solver.prototxt

    以上,完成所有步骤。最终效果如下:






  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值