layer_factory.hpp:77] Check failed: registry.count(t ype) == 1 (0 vs. 1) Unknown layer type: Input

这是一个让我疯狂的错误 告诉大家解决办法
网上提供的几种参考方法:
一、增加head.h 文件
https://blog.csdn.net/fangjin_kl/article/details/50936952
参考这个blog 很多人说有用。在编译的时候如果报错 head没法生成object 。他是个warning 可以在设置里面把 警告视为错误 改成‘否’ 来解决

二、在 layer_factory.cpp 添加 input层
https://stackoverflow.com/questions/42993870/caffe-layer-creation-failure-unknown-layer-type/43060851#43060851 传送门

// Get input layer according to engine.
template <typename Dtype>
shared_ptr<Layer<Dtype> > GetInputLayer(const LayerParameter& param) {
    int engine = 0;
#ifdef USE_CUDNN
        engine = 1;
#endif

    if (engine == 0) {
        return shared_ptr<Layer<Dtype> >(new InputLayer<Dtype>(param));
#ifdef USE_CUDNN
    }
    else if (engine == 1) {
        return shared_ptr<Layer<Dtype> >(new CuDNNInputLayer<Dtype>(param));
#endif
    }
    else {
        LOG(FATAL) << "Layer " << param.name() << " has unknown engine.";
        throw;  // Avoids missing return warning
    }
}

REGISTER_LAYER_CREATOR(Input, GetInputLayer);

但是我最后两个方法都没用到
莫名其妙就可以了。想知道具体我怎么配置 怎么操作的 还有我的文件资源 可以看我另一个博客

发布了69 篇原创文章 · 获赞 14 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_41147129/article/details/89231103