• Caffe学习中的一些错误记录


    ProtoBuffer

    ProtoBuffer是由Google开发的一种可以实现内存与非易失存储介质(如硬盘文件)交换的协议接口。Caffe源码中大量使用ProtoBuffer作为权值和模型参数的载体。

    在这里我使用的是2.5.0的版本。并且没有安装在系统默认目录/usr/或/usr/local/下,而是安装在了/home/proto_buffer/local_install下。

    接着我们修改了caffe根目录中的Makefile.config文件

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

    在其后添加如下字段

    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/ /home/proto_buffer/local_install/include
    LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /home/proto_buffer/local_install/li

    当使用g++命令编译get_param_from_proto.cpp文件,并调用caffe目录中的caffe.pb.cc以及ProtoBuffer时:

    $ g++ -o test get_param_from_proto.cpp
    /[caffe根目录]/build/src/caffe/proto/caffe.pb.cc -I/[caffe根目录]/build/src/caffe/proto/ -I/[ProtoBuffer安装目录]/include –L/[ProtoBuffer安装目录]/lib –lprotobuf

    可能会出现如下一系列错误:

    error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
           if (meanfile_ != &::google::protobuf::internal::kEmptyString) {

    解决方法如下:

    1、使用

    $ protoc --version

    查看ProtoBuffer版本,发现是

    并不是之前安装的2.5.0版本

    需要将安装目录使用如下命令加入PATH中:

    $ PATH=/home/proto_buffer/local_install/bin:$PATH

    2、若仍然报错,可能是因为caffe在修改Makefile.config没有重新编译。使用命令重新编译后应该就能解决问题了。

    $ make clean
    $ make 

    3、若在第一步后出现如下错误

    protoc: error while loading shared libraries: libprotoc.so.8: cannot open shared object file: No such file or directory

    参考https://www.cnblogs.com/Anker/p/3209876.html

    opencv

    opencv大致安装步骤如下(以opencv-3.0.0为例):

    下载opencv-3.0.0.tar.gz

    >> tar zxvf opencv-3.0.0.tar.gz
    >> cd opencv-3.0.0
    >> mkdir build
    >> cd build

    利用下面的cmake命令进行编译设置

    >> cmake .. –DCMAKE_BUILD_TYPE=Release –DCMAKE_INSTALL_PREFIX=[自定义安装目录]
    >> make
    >> make install

    这一步往往会卡在ICV: Downloading ippicv_linux_20141027.tgz这一步骤

    解决方法如下:

    不知道是因为cmake下载的问题还是Hash值的问题,我们可以下载 ippicv_linux_20141027.tgz文件,并对应目录

    /home/proto_buffer/opencv-3.0.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b中的 ippicv_linux_20141027.tgz文件。

    再次执行

    >> cmake .. –DCMAKE_BUILD_TYPE=Release –DCMAKE_INSTALL_PREFIX=[自定义安装目录]
    >> make
    >> make install

    问题解决!

    依然是关于opencv的一个问题,具体提示如下:

     make: *** [.build_release/tools/upgrade_net_proto_text.bin] Error 1

    解决方法如下:

    打开Makefile.config

    可以看到有关opencv的一行:

    # Uncomment if you're using OpenCV 3
    取消OPENCV_VERSION := 3这一行的标注

    问题解决!

  • 相关阅读:
    c# GDI+ 绘制矩形圆角
    ActivityManager
    PowerDesigner15 下载 数据库建模工具
    IaaS、PaaS和SaaS
    discuz 社区工具
    c# 字符串比较方法
    android adb 命令大全
    unity
    backtrack5 中文网
    aws
  • 原文地址:https://www.cnblogs.com/tjuwx/p/8451820.html
Copyright © 2020-2023  润新知