caffe中Layer type * already registered和Unknown layer type错误

Unknown layer type:

在该layer的实现文件(在$caffe_root/src/caffe/layers/目录下,如pool层的实现在src/caffe/layers/pooling_layer.cpp)INSTANTIATE_CLASS(PoolingLayer);加入下面这条语句:

REGISTER_LAYER_CLASS(Pooling);(记住Pooling后面不要带Layer)。

Layer type * already registered:

这个错误是,在Layer_factory中已经注册过这个函数(REGISTER_LAYER_CREATOR(Pooling, GetPoolingLayer);),而在这个layer的实现文件中用又用REGISTER_LAYER_CLASS注册了一遍,此时就需要将实现文件中的REGISTER_LAYER_CLASS注释掉。

完成上述修改之后需要重新编译caffe。网上还有在调用caffe的头文件中加入REGISTER_LAYER_CLASS的方法,不用重新编译caffe,具体适用与否自己可以试验一下。

caffe使用了工厂模式。具体可以查看博客http://blog.youkuaiyun.com/langb2014/article/details/50991315


当你看到 `make: *** FATAL *** all: unknown action keyword` 这个错误信息时,通常是在使用Caffe(一种深度学习框架)进行构建时遇到的问题。这个错误表明Makefile(构建系统)中定义的某个命令或目标关键词对于当前的make任务来说是未知的或者不被支持的。 Caffe是一个基于C++的深度学习框架,它的构建过程可能依赖于一些特定的步骤,如编译依赖库、配置选项等。这个错误可能是由于以下几个原因: 1. 你可能尝试执行了一个未在Makefile中定义的操作,比如你可能误输入了一个无效的命令行参数。 2. Makefile配置可能有误,比如路径设置不正确,或者某些库没有正确地安装链接。 3. 你可能更新了源代码或者使用了新的版本,导致某些构建规则发生了变化。 为了解决这个问题,你可以按照以下步骤尝试: 1. **检查Makefile**:确保你正在使用的Makefile适用于你的Caffe版本,并且所有的依赖项都已经正确配置。 2. **查看错误日志**:查找更详细的错误信息,这可能会指出是哪个具体的命令或文件出错。 3. **更新文档或教程**:如果可能的话,查阅最新的Caffe官方文档或教程,确认构建过程是否有任何更改。 4. **清理并重新构建**:有时候,删除旧的编译结果,然后从头开始构建可能会解决问题。 5. **检查环境变量**:确认所有必要的编译器、库路径环境变量都已设置正确。 如果你能提供更详细的错误上下文或者你在执行的具体步骤,我可以给出更针对性的建议。相关问题: 1. 你是在尝试编译哪种类型的Caffe?(例如,CPU版本还是GPU版本) 2. 你是否已经设置了所有必要的编译选项? 3. 之前在构建过程中有没有遇到过其他问题?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值