Neural network caffe`;Python";`找不到图层?

Neural network caffe`;Python";`找不到图层?,neural-network,deep-learning,caffe,pycaffe,Neural Network,Deep Learning,Caffe,Pycaffe,我已安装caffe,未注释 WITH_PYTHON_LAYER=1 在'Makefile.config' 当我在net.prototxt中使用python数据层时,它说 要在python接口中进行交叉检查, 我试过了 这似乎有效,没有错误。 问题出在哪里?您只需检查caffe.layer\u types\u list()就可以找到caffe在python中的层类型。例如,如果您实际上有一个“Python”层,那么 list(caffe.layer_type_list()).index('Pyt

我已安装caffe,未注释

WITH_PYTHON_LAYER=1
'Makefile.config'

当我在net.prototxt中使用python数据层时,它说

要在python接口中进行交叉检查, 我试过了

这似乎有效,没有错误。
问题出在哪里?

您只需检查
caffe.layer\u types\u list()
就可以找到caffe在python中的层类型。例如,如果您实际上有一个
“Python”
层,那么

list(caffe.layer_type_list()).index('Python')
实际上应该在图层类型列表中为其名称返回索引

至于
L.Python()
-此
caffe.NetSpec()
接口用于以编程方式编写net prototxt,并且在编写阶段不检查层类型。实际上,您可以编写所需的任何图层:

L.YouDontThinkTheyNameALayerLikeThis()
真是太酷了。甚至将其转换为prototxt:

print "{}".format(L.YouDontThinkTheyNameALayerLikeThis().to_proto())
实际结果如下:


如果您使用pycaffe(
L.Python()
)创建一个网络并真正运行它,那么一旦您尝试使用caffe运行此“网络”,您将收到一条错误消息。它是否工作,或者是否也有错误?您是否在使用Python\u LAYER=1设置
后编译了caffe?
L.YouDontThinkTheyNameALayerLikeThis()
print "{}".format(L.YouDontThinkTheyNameALayerLikeThis().to_proto())
layer {
  name: "YouDontThinkTheyNameALayerLikeThis1"
  type: "YouDontThinkTheyNameALayerLikeThis"
  top: "YouDontThinkTheyNameALayerLikeThis1"
}