【问题标题】:How to implement Eltwise layer in pyCaffe如何在pyCaffe中实现Eltwise层
【发布时间】:2018-09-23 05:11:31
【问题描述】:

我正在尝试在 PyCaffe 中实现 Eltwise 层来对 2 个输入求和。

我的目标是在原始文本中得到这个:

layer {
  name: "eltwise_sum"
  type: "Eltwise"
  bottom: "v1"
  bottom: "v2"
  top: "v1_v2_sum"
  eltwise_param { operation: SUM }
}

我找不到任何关于如何在 PyCaffe 中执行此操作的文档甚至谷歌示例。

net.v1_v2_sum = caffe.layers.Eltwise( net.v1, 
                                      net.v2, 
                                      name='eltwise_sum', 
                                      param ={'operation': 'SUM'}
                                    )

但是,我不断收到错误消息。我怀疑这是由于没有正确指定求和运算,但我找不到任何关于如何正确执行此操作的文档?

谢谢,

【问题讨论】:

    标签: python deep-learning caffe pycaffe


    【解决方案1】:

    好的,所以显然Eltwise执行的每个操作都有一个整数对应,而1对应sum,所以正确的实现是:

    net.v1_v2_sum = caffe.layers.Eltwise( net.v1, 
                                          net.v2, 
                                          name='eltwise_sum', 
                                          operation = 1
                                        )
    

    我通过反复试验发现了这一点。有关如何从他们的 git 代码中理解这一点的更多信息,请参阅 Parag S. Chandakkar 的回答。

    【讨论】:

      【解决方案2】:

      答案就在caffe.proto。您包含在图层中的每个参数都列在该文件中。对于Eltwise 层,参数为operationcoeffstable_prod_grad。参数operation 采用三个值012,其映射由enum EltwiseOp 定义。至于参数name,您可以在LayerParameter 中找到它。我找不到任何关于此的文档。这只是你一路上学到的东西。我希望这能消除您的疑虑。

      【讨论】:

      • 谢谢,很有帮助!我希望他们能更容易找到这个...
      猜你喜欢
      • 1970-01-01
      • 2017-06-19
      • 1970-01-01
      • 2016-04-02
      • 2023-03-21
      • 1970-01-01
      • 2019-09-03
      • 2020-10-25
      • 2021-08-03
      相关资源
      最近更新 更多