我正在尝试在PyCaffe中实现Eltwise图层来加总2个输入。
我的目标是在prototext中获得这个:
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'}
)
然而,我一直收到错误。我怀疑这是因为没有正确指定sum操作,但我找不到任何关于如何正确执行此操作的文档?
谢谢,
答案 0 :(得分:1)
答案在于caffe.proto。您在图层中包含的每个参数都列在该文件中。对于Eltwise
图层,参数为operation
,coeff
,stable_prod_grad
。参数operation
需要3个值0
,1
或2
,其映射由enum EltwiseOp
定义。就参数name
而言,您可以在LayerParameter
中找到它。我找不到任何关于此的文件。这只是你沿途学到的东西。我希望这能解决你的疑虑。
答案 1 :(得分:0)
好的,显然有一个整数对应于Eltwise执行的每个操作,1对应于sum,所以正确的实现是:
net.v1_v2_sum = caffe.layers.Eltwise( net.v1,
net.v2,
name='eltwise_sum',
operation = 1
)
我通过反复试验来解决这个问题。有关如何从他们的git代码中理解这一点的更多信息,请参阅Parag S. Chandakkar的答案。