在vs2013环境先,调用编译好的libcaffe项目,做深度学习模型预测时,出现类似下面的错误。
CHECK_EQ(registry.count(type), 1) << "Unknown layer type: " << type
<< " (known types: " << LayerTypeList() << ")";
我是在vs2013下面加载了两个项目,一个是libcaffe,另外一个是我自己的工程。
运行时出现上面错误,代码跟踪到下面部分,g_registry_的size零。
static CreatorRegistry& Registry() {
static CreatorRegistry* g_registry_ = new CreatorRegistry();
return *g_registry_;
}
查看caffe的layer注册原理,见下面链接。
https://blog.csdn.net/weixin_35776029/article/details/74739831
然后发现REGISTER_LAYER_CLASS(XXX);没有执行。
在自己工程属性下添加libcaffe的引用,然后在依赖性输入选True。见下图。然后正常完成layer注册。