我正在尝试在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'}
)然而,我一直收到一个错误。我怀疑这是由于没有正确指定sum操作,但我找不到任何关于如何正确执行此操作的文档?
谢谢,
发布于 2018-04-13 07:49:52
答案就在caffe.proto中。包含在图层中的每个参数都列在该文件中。对于Eltwise层,参数为operation、coeff、stable_prod_grad。参数operation采用3个值0、1或2,它们的映射由enum EltwiseOp定义。就参数name而言,您可以在LayerParameter中找到它。我找不到任何关于这方面的文档。这只是你在学习过程中学到的东西。我希望这能消除你的疑虑。
发布于 2018-04-13 07:15:20
显然,Eltwise执行的每个操作都有一个整数,1对应于sum,所以正确的实现是:
net.v1_v2_sum = caffe.layers.Eltwise( net.v1,
net.v2,
name='eltwise_sum',
operation = 1
)我通过反复试验弄明白了这一点。请参阅Parag S.Chandakkar的答案,了解如何从他们的git代码中理解这一点。
https://stackoverflow.com/questions/49806879
复制相似问题