zoukankan      html  css  js  c++  java
  • Caffe编译错误整理

    今天编译caffe-ssd遇到编译错误:

    1   Line 9690: 3>E:GitHubcaffe-ssd-windowssrccaffelayer_factory.cpp(141): error C2061: syntax error: identifier 'SliceLayer'
    2     Line 9690: 3>E:GitHubcaffe-ssd-windowssrccaffelayer_factory.cpp(141): error C2061: syntax error: identifier 'SliceLayer'
    3     Line 9696: 3>E:GitHubcaffe-ssd-windowssrccaffelayer_factory.cpp(262): error C2061: syntax error: identifier 'NormalizeLayer'
    4     Line 9696: 3>E:GitHubcaffe-ssd-windowssrccaffelayer_factory.cpp(262): error C2061: syntax error: identifier 'NormalizeLayer'
    5     Line 9702: 3>E:GitHubcaffe-ssd-windowssrccaffelayer_factory.cpp(272): error C2061: syntax error: identifier 'InnerProductLayer'
    6     Line 9702: 3>E:GitHubcaffe-ssd-windowssrccaffelayer_factory.cpp(272): error C2061: syntax error: identifier 'InnerProductLayer'
    7     Line 10141: 4>LINK : fatal error LNK1104: cannot open file '..libDebugcaffe-d.lib'

    经查,是下面文件里没有添加上面对应的三个头文件。

    添加下面三行到layer_factory.cpp:

    #include "caffe/layers/slice_layer.hpp"
    #include "caffe/layers/normalize_layer.hpp"
    #include "caffe/layers/inner_product_layer.hpp"

    再次编译,报错:

    E:GitHubcaffe-ssd-windowssrccaffelayer_factory.cpp(265): error C2955: 'caffe::NormalizeLayer': use of class template requires template argument list
    E:GitHubcaffe-ssd-windowsincludecaffe/layers/normalize_layer.hpp(18): note: see declaration of 'caffe::NormalizeLayer'
    E:GitHubcaffe-ssd-windowssrccaffelayer_factory.cpp(267): note: see reference to function template instantiation 'boost::shared_ptr<caffe::Layer<Dtype>> caffe::GetNormalizeLayer<float>(const caffe::LayerParameter &)' being compiled
     with
     [
     Dtype=float
     ]
    E:GitHubcaffe-ssd-windowssrccaffelayer_factory.cpp(265): error C2514: 'caffe::NormalizeLayer': class has no constructors
    E:GitHubcaffe-ssd-windowsincludecaffe/layers/normalize_layer.hpp(18): note: see declaration of 'caffe::NormalizeLayer'
    E:GitHubcaffe-ssd-windowssrccaffelayer_factory.cpp(275): error C2514: 'caffe::InnerProductLayer': class has no constructors

    查找原因:

     return shared_ptr<Layer<Dtype> >(new NormalizeLayer(param));

    改为(添加了<Dtype>):

    return shared_ptr<Layer<Dtype> >(new NormalizeLayer<Dtype>(param));

    将:

    return shared_ptr<Layer<Dtype> >(new InnerProductLayer(param));

    改为(添加了<Dtype>):

    return shared_ptr<Layer<Dtype> >(new InnerProductLayer<Dtype>(param));

    然后就编译通过了。

  • 相关阅读:
    tap事件的原理详解
    获取地理位置
    获取高度
    JSON字符串与JSON对象的区别
    zepto方法
    javascript 中 click 和onclick有什么区别呢
    oninput,onpropertychange,onchange的用法和区别
    js实时监听input中值得变化
    sql lock
    数据库SQL优化大总结
  • 原文地址:https://www.cnblogs.com/juluwangshier/p/12386031.html
Copyright © 2011-2022 走看看