Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Machine learning 如何在pycaffe中生成客户池层协议?_Machine Learning_Neural Network_Deep Learning_Caffe_Pycaffe - Fatal编程技术网

Machine learning 如何在pycaffe中生成客户池层协议?

Machine learning 如何在pycaffe中生成客户池层协议?,machine-learning,neural-network,deep-learning,caffe,pycaffe,Machine Learning,Neural Network,Deep Learning,Caffe,Pycaffe,我的目标是通过以下代码实现池层prototxt: layer { name: "my_pooling" type: "Pooling_Custom" bottom: "conv1" top: "my_pooling" pooling_custom_param { pool: MAX kernel_size: 2 stride: 2 engine : CAFFE } } 其中Pooking_Custom和pooling_Custom_par

我的目标是通过以下代码实现池层prototxt:

layer {
  name: "my_pooling"
  type: "Pooling_Custom"
  bottom: "conv1"
  top: "my_pooling"
  pooling_custom_param {
    pool: MAX
    kernel_size: 2
    stride: 2
    engine : CAFFE
  }
}
其中
Pooking_Custom
pooling_Custom_param
是我的修改池。我想使用python生成上述输出。我正在使用NetSpec来执行此操作:

from caffe import params as P
n = caffe.NetSpec()
my_pooling = L.Pooling(conv1, type="Pooling_Custom",  pool=P.Pooling.MAX, kernel_size=2, stride=2, engine=1)
但是,我无法生成
池\u自定义\u参数
。我怎么做?我目前的结果是

layer {
  name: "my_pooling"
  type: "Pooling_Custom"
  bottom: "conv1"
  top: "my_pooling"
  pooling_param {
    pool: MAX
    kernel_size: 2
    stride: 2
    engine : CAFFE
  }
}

如果您是作为池的子类型执行此操作,则不能执行此操作:这些属性名称由父模板定义。您可以更改的只是值(每个项目的右侧,冒号之后)

功能上的原因是,您正在合并来自父类的方法,这些父类中的字段名是硬编码的。例如,将有一些引用池参数[“内核大小”]。如果您已将名称更改为“pooling_custom_param”
,则还需要重新配置该软件。。。这超出了语言的软件实现


如果您确实需要更改该属性名称,欢迎您克隆整个池类,进行更改,并实例化新类的层。

谢谢。实际上,我使用的是Caffe的修改版本。在这个版本中,我使用
pooling\u custom\u param
来定义pooling参数。我的caffe版本使用
pooling\u custom\u param
与我的设置一起工作。在我的问题中,我的重点是使用
caffe.NetSpec()
从python脚本生成prototxt。这不可能吗?我不知道--“Caffe的修改版”没有告诉我它是如何修改的。显然,你有一个手工修改过的版本。如果NetSpec没有进行类似的修改,我认为您无法生成所需的标签;您必须向NetSpec添加功能来处理这种更改。