CentOs编译caffe的问题

按照网上的教程配置好caffe的环境后

make all -j8

最后出现

non-virtual thunk to caffe::BasePrefetchingDataLayer< float > InternalThreadEntry ()

最后各种查找,google,竟然在http://discuss.cocos2d-x.org/t/error-non-virtual-thunk-to-cocos2d-cclayer-cctouchbegan/9061中一个

回答中找到了一个回答,是由于多类继承中导致了时间上的问题

一想,应该是开始用多线程编译的时候出现的,也比较奇怪,在ubuntu14.04 TLS就没有这个问题

最后将原来编译的全部clean掉,之前有试过用单线程编译,但是忘记了clean,最后导致问题

make clean

make all

就行了

补充。之前在编译到33%时遇到一个奇葩的问题,\caffe-master\src\caffe\layers\base_conv_layer.cpp中出现一个类ConvolutionParameter 识别不了

namespace caffe {

template <typename Dtype>
void BaseConvolutionLayer<Dtype>::LayerSetUp(const vector<Blob<Dtype>*>& bottom,
const vector<Blob<Dtype>*>& top) {
CHECK_EQ(4, bottom[0]->num_axes()) << "Input must have 4 axes, "
<< "corresponding to (num, channels, height, width)";
// Configure the kernel size, padding, stride, and inputs.
ConvolutionParameter conv_param = this->layer_param_.convolution_param();
CHECK(!conv_param.has_kernel_size() !=
!(conv_param.has_kernel_h() && conv_param.has_kernel_w()))
<< "Filter size is kernel_size OR kernel_h and kernel_w; not both";
CHECK(conv_param.has_kernel_size() ||
(conv_param.has_kernel_h() && conv_param.has_kernel_w()))
<< "For non-square filters both kernel_h and kernel_w are required.";
CHECK((!conv_param.has_pad() && conv_param.has_pad_h()
&& conv_param.has_pad_w())
|| (!conv_param.has_pad_h() && !conv_param.has_pad_w()))
<< "pad is pad OR pad_h and pad_w are required.";
CHECK((!conv_param.has_stride() && conv_param.has_stride_h()
&& conv_param.has_stride_w())
|| (!conv_param.has_stride_h() && !conv_param.has_stride_w()))
<< "Stride is stride OR stride_h and stride_w are required.";
if (conv_param.has_kernel_size()) {
kernel_h_ = kernel_w_ = conv_param.kernel_size();
} else {
kernel_h_ = conv_param.kernel_h();
kernel_w_ = conv_param.kernel_w();
}
CHECK_GT(kernel_h_, 0) << "Filter dimensions cannot be zero.";
CHECK_GT(kernel_w_, 0) << "Filter dimensions cannot be zero.";
if (!conv_param.has_pad_h()) {
pad_h_ = pad_w_ = conv_param.pad();
} else {
pad_h_ = conv_param.pad_h();
pad_w_ = conv_param.pad_w();
}

最后定位到将build/caffe/proto/caffe.pb.h拷进/include中就过去了

时间: 2024-10-16 07:26:48

CentOs编译caffe的问题的相关文章

ubuntu下 编译Caffe的Matlab接口

一般情况下不愿意使用Caffe的Matlab接口,总觉得Linux版的Matlab很难配置,但是现在搞目标检测,得到的源码是使用的Caffe的Matlab接口,只能硬着头皮上了. (1)修改caffe-master/Makefile.config 这一步主要是在Caffe的编译配置文件Makefile.config中加入Matlab的路径.注意路径文件夹是要包含Matlab安装目录的“bin”文件夹的. (2)编译接口.这里默认已经编译好了Caffe源码主体部分.所以直接编译接口.在caffe-

(原)Ubuntu16中编译caffe

转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5797526.html 参考网址: http://caffe.berkeleyvision.org/installation.html#prerequisites 1. 必须的依赖:Boost >= 1.55,CUDA,BLAS 看一下自己的CUDA安装在哪个目录下了.Makefile.config默认CUDA_DIR := /usr/local/cuda 依赖库:protobuf, glog, gf

centos编译libpng报错,解决方法

/usr/local/lib/libz.a: could not read symbols: Bad value 一般是64 位 电脑才会出现. 解决方法如下: 1 cd zlib-1.2.3 //进入zlib目录 2 3 CFLAGS="-O3 -fPIC" ./configure //使用64位元的方法进行编译 4 5 make 6 7 make install 8 9 make clean centos编译libpng报错,解决方法,布布扣,bubuko.com

windows7+visual studio 2013+CUDA7.5 编译caffe

经过朋友指导,终于成功在windows7上成功编译了caffe,这里将编译过程记录 安装文件准备 安装visual studio 2013 安装cuda75 编译caffe 1 解压缩下载的caffe-windows文件 2 进入到windows文件夹 3 复制配置文件并重命名 4 修改配置文件修改工程的属性文件 5 打开名称为Caffe的解决方案 6 编译libcaffe项目 7 编译caffe项目 8 编译其他项目 运行第一个caffe测试程序 配置cuDNN 配置python 配置matl

[转]CentOS编译安装GIMP

CentOS编译安装GIMP 原文地址:http://www.ithao123.cn/content-97397.html gimp是扩平台的图像处理软件 因为最近要在linux上做几张图片决定安装它试试 直接yum install gimp貌似有问题 一启动就说什么有错误 还是决定走源码安装的不归路 因为源码编译的需要的包可能系统中会存在 但若直接替换可能会引起其它软件崩掉 configure时最好用--prefix=指定下安装路径 gimp的源码包可以在官网上下载 ./configure -

centos 编译安装mysql

centos 编译安装mysql,请看附件

ubuntu14.04下安装cudnn5.1.3,opencv3.0,编译caffe及matlab和python接口过程记录

已有条件: ubuntu14.04+cuda7.5+anaconda2(即python2.7)+matlabR2014a 上述已经装好了,开始搭建caffe环境. 1. 装cudnn5.1.3,参照:2015.08.17 Ubuntu 14.04+cuda 7.5+caffe安装配置 详情:先下载好cudnn-7.5-linux-x64-v5.1-rc.tgz安装包(貌似需要官网申请) 解压: tar -zxvf cudnn-7.5-linux-x64-v5.1-rc.tgz cd cuda s

centos编译内核出现:no space left on device 解决方法

1.问题:原来将源码放在根目录下面 编译过程中出现了 no space left on device 利用df -h 命令查看 根目录空间占用完毕 2.将源码改在其他空间很足的地方编译 在make module_install 还是出现no space left on device 但是该目录下面的空间很足 ,继续df -h 根目录满了 3解决方法 将根目录中的不用的文件删除,因为在安装的时候要经过根目录, 所以要保持根目录中的空间充足 centos编译内核出现:no space left on

64bit Centos编译hadoop-2.5.1

64bit Centos编译hadoop-2.5.1   1.说明 a)       由于从apache下载下来的tar.gz包是用32 bit编译的,所有如果用Linux 64作为hadoop的平台,将会出现一些问题,所以需要手动的编译成64 bit 2.软件准备 a) JDK jdk1.7.0_51 b) Hadoophardoop-2.5.1-src.tar.gz c) Maven apache-maven-3.0.5-bin.zip d) Protobufprotobuf-2.5.0.t