Caffe C++ 调用: Check failed: registry.count(type) == 1(0 vs. 1) Unknown layer type...

当我在配置好的C++项目中调用 Caffemodel 来测试模型时,需要

deploy.txt
caffemodel
mean.binaryproto
label.txt

有遇到如下的错误信息:
Caffe C++ 调用: Check failed: registry.count(type) == 1(0 vs. 1) Unknown layer type..._第1张图片

然后仔细查看cmd窗口输出的错误信息发现是如下的信息:

这里写图片描述

将而且可以见到:

Caffe C++ 调用: Check failed: registry.count(type) == 1(0 vs. 1) Unknown layer type..._第2张图片

通过参考相关博客:https://blog.csdn.net/fangjin_kl/article/details/50936952 做出了如下方法解决了这个问题。

就是新建一个头文件 head.h,然后将它提示你没找到的层的头文件包含进去并且加上一句:

extern INSTANTIATE_CLASS(InputLayer);

在用上述问题解决 Input 层以后还一次报错,找不到 Dropout 层 和 Innerproduct 层。所以这里依次添加它们的头文件,如下:

Caffe C++ 调用: Check failed: registry.count(type) == 1(0 vs. 1) Unknown layer type..._第3张图片

然后在你调用 Caffemodel 的 cpp 文件中 包含 head.h 就可以了。

你可能感兴趣的:(C++,caffe学习)