• 深度学习caffe:Ubuntu16.04安装指南(1)


    caffe [CPU ONLY] 2017-01-15

    最简单的安装配置方式: 不用GPU加速,使用OPENCV2.4图像库, 这是根据官方教程(链接如下)简化而得到.

    Ubuntu 16.04 or 15.10 Installation Guide

    1. 软件源更新

    刚刚安装好Ubuntu16.04的系统之后,第一步应该是更新软件源,有多种方式,这里使用的是直接编辑配置文件的方式. 

    # 01在修改source.list前,最好先备份一份
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
    
    # 02执行命令打开sources.list文件:
    # 可以用vim, gedit, kate, atom等工具打开
    # sudo vim /etc/apt/sources.list
    
    sudo gedit /etc/apt/sources.list
    
    # 03写入新的软件源
    # 这里推荐清华大学的Ubuntu镜像
    # 北京交通大学的Ubuntu镜像只能给Ubuntu14.04及一下版本的使用
    # 具体内容见后面
    
    # 04开始更新
    sudo apt-get update
    
    # 05不要进行系统升级!!!
    # 即,不要执行下面的命令
    # sudo apt-get upgrade

    清华大学Ubuntu16.04软件源

    # deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe ultiverse
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse 

    2. 前置命令执行[安装各种包]

    sudo apt-get update
    
    sudo apt-get install -y build-essential cmake git pkg-config
    
    sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler
    
    sudo apt-get install -y libatlas-base-dev 
    
    sudo apt-get install -y --no-install-recommends libboost-all-dev
    
    sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev
    
    # (Python general)
    sudo apt-get install -y python-pip
    
    # (Python 2.7 development files)
    sudo apt-get install -y python-dev
    sudo apt-get install -y python-numpy python-scipy
    
    # (OpenCV 2.4)
    sudo apt-get install -y libopencv-dev
    这些命令做了什么

    安装了编译工具cmake, git客户端, hdf5/lmdb,以及boost图像库

    Python部分选择2.7版本,安装对应的numpy库, 是否安装成功可以通过如下方式测试[不报错则numpy库安装ok]:

    OpenCV2.4通过上面的命令直接安装完成,省去了OPENCV3和OPENCV3.1编译和一步步配置安装的过程.

    3. 下载/配置/编译 caffe

    3源码下载/解压

    项目地址: https://github.com/BVLC/caffe 

    选择直接下载,得到 caffe-master.zip

    注:虽然可以通过git命令直接clone项目(git clone https://github.com/BVLC/caffe.git ),但是速度特别慢,只有4KB左右,建议直接下载

    解压到~/bin 目录下

    sudo make ~/bin
    cd ~/bin
    cp /PATH/TO/caffe-master ~/bin
    unzip caffe-master.zip
    rm -rf caffe-mater.zip
    3安装caffe

    进入caffe-master目录

    cd ~/bin/caffe-master/
    cp Makefile.config.example Makefile.config
    
    # 编辑配置文件
    # 安装kate,用命令
    # sudo apt-get install kate
    kate ./Makefile.config &

    编辑配置文件

    Makefile.config

    # 01 因为只使用CPU
    # 不用GPU加速
    # 所以 取消注释
    # 默认是使用 GPU + CPU 运算
    # CPU-only switch (uncomment to build without GPU support).
    # CPU_ONLY := 1
    CPU_ONLY := 1
    
    # 02 Python2.7 运行环境配置项
    # 让 Makefile.config包含下面内容
    # 不用修改
    PYTHON_INCLUDE := /usr/include/python2.7 /usr/lib/python2.7/dist-packages/numpy/core/include
    # 取消注释
    WITH_PYTHON_LAYER := 1
    
    #下面两项,包含下面的内容就好
    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 /usr/lib/x86_64-linux-gnu/hdf5/serial
    
    # OPENCV3还需要额外配置,OPENCV2.4不用

    Makefile

    kate Makefile.config
    # 替换
    NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
    # 如下
    NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

    在正式编译之前,可能还需要附加hdf5的设置:

    find . -type f -exec sed -i -e 's^"hdf5.h"^"hdf5/serial/hdf5.h"^g' -e 's^"hdf5_hl.h"^"hdf5/serial/hdf5_hl.h"^g' '{}' ;
    
    cd /usr/lib/x86_64-linux-gnu
    
    sudo ln -s libhdf5_serial.so.10.1.0 libhdf5.so
    
    sudo ln -s libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so 
    View Code

    进入caffe-master/python目录

    for req in $(cat requirements.txt); do pip install $req; done
    
    #上面代码执行如果出现什么问题,再尝试下面的的命令:
    for req in $(cat requirements.txt); do sudo -H pip install $req --upgrade; done

    编译

    make all
    make test
    make runtest
    make pycaffe      -should be finished already, so you can omit this one
    make distribute

    上面的命令都可以替换成如下形式:

    make all
    
    # can become
    
    make all -j $(($(nproc) + 1))

    4. MNIST实验

    下面的操作都是在caffe-master目录下,切换工作目录

    cd ~/bin/caffe-master

     步骤一:数据预处理 [下载数据]

    sh data/mnist/get_mnist.sh

    步骤二:重建lmdb文件. Caffe支持多种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,HDF5等,根据自己需要选择不同输入吧.

    $ sh examples/mnist/create_mnist.sh

    生成mnist-test-lmdbmnist-train-lmdb文件夹,这里包含了lmdb格式的数据集.

    步骤三:训练mnist. [CPU Only需要修改配置文件]

    sh examples/mnist/train_lenet.sh
    # 输出 "Optimization Done."
    # 成功,准确率达到99%

     

    :如何修改配置文件支持CPU ONLY

    # CUP Only 修改配置文件
    vim examples/mnist/lenet_solver.prototxt
    
    # 将配置文件末尾修改如下
    # solver mode: CPU or GPU
    # solver_mode: GPU
    solver_mode: CPU

    iiiiiiii

      

  • 相关阅读:
    用表组织数据
    SQL Server 2008创建数据库
    c#字符串常用方法
    属性升级介绍
    c#语法
    初识C#
    CSS动画
    YCSB性能测试工具使用
    高性能的Redis代理TwemProxy
    JVM垃圾回收总结
  • 原文地址:https://www.cnblogs.com/AbcFly/p/6287732.html
Copyright © 2020-2023  润新知