Caffe学习中的一些错误记录

本文详细介绍了Caffe中ProtoBuffer配置问题及其解决方法,包括版本确认与环境变量设置等。同时,还提供了OpenCV 3.0.0的安装步骤及常见问题解决方案,例如下载ippicv文件及解决编译错误。

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这一行的标注

问题解决!

转载于:https://www.cnblogs.com/tjuwx/p/8451820.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值