自己安装caffe的完整历程

前言:本博客是安装caffe的完整历程,遇到的问题和自己解决方法均在里面,请耐心阅读。而且含有使用别人caffe程序时有关protobuf问题自己的解决方案

https://blog.csdn.net/zhuzizhong/article/details/84339154 

环境为:

ubuntu 16.0.4   cuda=9.0   cudnn=7.0

准备工作

1 、安装依赖项:

    sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev

    sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

    sudo apt-get install -y protobuf-c-compiler protobuf-compiler  

2、解决在配置caffe,在make时候把报错(fatal error: glog/logging.h: No such file or directory

    (1) git clone https://github.com/google/glog

    (2) sudo apt-get install autoconf automake libtool

    (3) 编译和安装 : cd到解压文件夹下 root/glog 

         ./autogen.sh

        ./configure

        make 

        make install

配置caffe

1、下载caffe:https://github.com/BVLC/caffe

2、将解压的文件夹caffe放到home(可以根据自己指定路径)下:

         指令:cp -r  /自己解压的caffe路径    /home/

3、cd到caffe目录下,将Makefile.config.example备份为Makefile.config

        cd  /home/caffe

        cp Makefile.config.example  Makefile.config

4、打开并修改配置文件(Makefile.config

     sudo test

(1)修改文件:

                 gedit Makefile.config(打开Makefile.config)

        使用cudnn    

             #OPENCV_VERSION := 3修改为:OPENCV_VERSION := 3 (第23行)

       使用python来编写layer

            #WITH_PYTHON_LAYER := 1修改为WITH_PYTHON_LAYER := 1 (第94行)

       在make pycaffe后常出现:提示错误:src/caffe/net.cpp:8:18: fatal error: hdf5.h: No such file or directory

            将 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include (第97行) 修改为 

                 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include(此处要有一个空格)/usr/include/hdf5/serial

            将 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib  (第98行) 修改为 

                 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib (此处要有一个空格) /usr/lib/x86_64-linux-gnu/hdf5/serial

        注释两行(根据自己的GPU型号修改arch值)

                #-gencode arch=compute_20,code=sm_20 \ (第39行)

               #-gencode arch=compute_20,code=sm_21 \ (第40行)

  (2)修改makefile文件

            注意:这里不要使用 gedit makefile 命令,而是找到 makefile 直接打开

            将 NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS) (第425行)替换为

               NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

  (3)编译caffe并且测试

           make clean

          make –j8

          make test –j8

          make runtest –j8

如果执行runtest后,输出PASSED,说明测试成功

5、 安装python接口

      (1)cd 到caffe 下

       (2)sudo make pycaffe -j8

       (3)解决import caffe时  ImportError: No module named caffe 错误

                gedit ~/.bashrc(打开.bashrc)

                export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH(注意:path/to是自己caffe的路径

 

       (4)保存, 生效 source ~/.bashrc

        (5)验证python与caffe接口

                 python

                  import caffe

                  如下图则成功                  

                  

          (6)解决 ImportError: No module named google.protobuf.internal错误

                   请看 我的博客 https://blog.csdn.net/zhuzizhong/article/details/84339154

               首先查看 protobuf 信息

                     whereis protoc  #查看那些路径下安装了protobuf

                     which protoc  #查看默认选用的protobuf

                    protoc --version  #查看当前默认的protobuf的版本(配置caffe时很重要)

               方法1

                   在自己安装的caffe路径下,makefile文件中修改 

                   (注意:这里不要使用 gedit makefile 命令,而是找到 makefile 直接打开)

                   $(Q)protoc --proto_path=$(PROTO_SRC_DIR) --cpp_out=$(PROTO_BUILD_DIR) $<(第649行)修改为:

                   $(Q)/usr/bin/protoc --proto_path=$(PROTO_SRC_DIR) --cpp_out=$(PROTO_BUILD_DIR) $<

                    $(Q)protoc --proto_path=src --python_out=python $<(第654行)修改为:

                    $(Q)/usr/bin/protoc --proto_path=$(PROTO_SRC_DIR) --python_out=$(PY_PROTO_BUILD_DIR) $<

              方法2 上述方法无法解决时:——安装特定版本(推荐)

               cd 到 ~/anaconda2/bin目录下 执行下面指令:

                    pip install protobuf==2.6.1

           (测试import caffe)成功

6、安装lmdb

       apt-get install libffi-dev python-dev build-essential

        pip install lmdb

7、sklearn

         pip install -U scikit-learn

         验证

         pip list

         
仅是本人在操作时遇到问题解决问题的过程,仅供参考!

参考:

           https://blog.csdn.net/yhaolpz/article/details/71375762

           https://blog.csdn.net/hnsywangxin/article/details/79208785

           https://blog.csdn.net/m0_38082419/article/details/80117132

           https://blog.csdn.net/u013249853/article/details/79827491?utm_source=blogxgwz2

           https://blog.csdn.net/jpday/article/details/70741619?utm_source=copy

           https://blog.csdn.net/wuzuyu365/article/details/52431062

           https://blog.csdn.net/dongjuexk/article/details/78567717

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值