• Caffe cpu版本 Linux配置命令及搭建


    Caffee 安装过程

    1.安装依赖包

    $ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
    $ sudo apt-get install --no-install-recommends libboost-all-dev
    $ sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
    $ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
    

    2.安装caffe

    $ git clone git://github.com/BVLC/caffe.git
    

    3.编译caffe

    $ cd caffe
    $ cp Makefile.config.example Makefile.config (复制一份Makefile.config文件)
    

    在Makefile.config文件中把CPU_ONLY := 1的注释给去掉,就是去掉前面的#号

    接下来在caffe根目录下执行下面命令

    $ make all
    

    在这个命令后,我遇到了一个报错信息,

    ./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: No such file or directory
    

    这是hdf5路径问题造成的,可以通过下面命令来获得hdf5的路径,

    $ sudo find / -name hdf5.h 
    

    我找到的hdf5.h的路径为:/usr/include/hdf5/serial/hdf5.h,于是在makefile.config文件中,把文件改成下面所示:

    再执行一遍上述命令,继续报错,这次是/usr/bin/ld: cannot find -lhdf5
    于是同上面一个处理 去找libhdf5.so
    配置文件改为:

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

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

    /usr/bin/ld: cannot find -lcblas
    /usr/bin/ld: cannot find -latlas

    解决

    sudo apt-get install libatlas-base-dev
    

    接着执行下面命令:

    make test
    

    最后,

    $ make runtest
    

    4.编译python接口

    安装pip

    $ sudo apt-get install python-pip
    

    执行安装依赖
    根据caffe/python目录下的requirements.txt中列出的清单安装即可。
    fortran编译器(gfortran)使为了安装scipy,否则会报错。

    cd ~/caffe
    sudo apt-get install gfortran
    cd ./python
    for req in $(cat requirements.txt); do pip install $req; done
    

    回到caffe根目录

    sudo pip install -r python/requirements.txt
    

    编译pycaffe接口

    make pycaffe -j81
    

    此时报错

    python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: 没有那个文件或目录
    12
    

    于是,输入如下命令即可

    sudo apt-get install python-numpy
    
    import sys
    sys.path.append("/(你的caffe路径)/caffe/python")
    sys.path.append("/(你的caffe路径)/caffe/python/caffe")
    

    PS:永久性添加python路径:

    cd /usr/lib/python2.7/dist-packages 
    sudo echo mycaffe.pth    #建立一个mycaffe.pth文件
    sudo gedit mycaffe.pth   #编辑文件
    

    开始python2 import caffe

    报错:ImportError: No module named skimage.io

    解决:

    sudo apt-get install python-skimage
    

    报错:ImportError: No module named google.protobuf.internal

    conda install protobuf
    

    还是没有解决:

    接着找:

    sudo apt-get install python-protobuf
    

    成功了!

    接下来开始测试:

    Mnist 数据集获取:

    sudo sh ./data/mnist/get_mnist.sh
    sudo sh ./examples/mnist/create_mnist.sh
    

    2、修改配置

    修改该目录下的prototxt扩展名配置文件
    修改./examples/mnist/lenet_solver.prototxt
    定位到最后一行:solver_mode: GPU,将GPU改为CPU。 使用CPU进行测试

    3、运行
    执行文件命令:

    sudo sh ./examples/mnist/train_lenet.sh
    

    报错:./train_lenet.sh: 4: ./train_lenet.sh: ./build/tools/caffe: not found

    重新编译

    sudo make all
    

    显示: nothing to be done for all

    最终训练完的模型存储为一个二进制的protobuf文件:
        ./examples/mnist/lenet_iter_10000.caffemodel

    这个模型就可以用来直接使用了

    突然就可以使用了。。。

    重新执行

    sudo sh ./examples/mnist/train_lenet.sh
    

    最好加time 看看所用时间

    开心,还好是cpu版本的,一点一点问题解决了

    主要参考博客:

    博客1

    博客2

  • 相关阅读:
    【马克-to-win】学习笔记—— 第五章 异常Exception
    【马克-to-win】—— 学习笔记
    Eclipse 日文乱码怎么解决Shift_JIS
    DB2设置code page(日文943)
    如何得到一个接口所有的实现类(及子接口)?例如:Eclipse IDE
    【VBA】随机数
    【VBA】利用Range声明Array(一维/二维)
    【VBA】Do While……Loop循环,遍历某列
    【58沈剑架构系列】DB主从一致性架构优化4种方法
    【58沈剑架构系列】主从DB与cache一致性
  • 原文地址:https://www.cnblogs.com/pprp/p/9121631.html
Copyright © 2020-2023  润新知