如何正确组合CNTK中具有不同形状的多个损失函数?

时间:2017-03-20 06:04:16

标签: cntk

在CNTK中,我想结合几种具有不同形状的损失函数。我想要使​​用的损失有四个部分,每个部分都有一个梯度来训练网络:

loss = rpn_loss_cls + rpn_loss_bbox + loss_cls + loss_bbox

个别形状

rpn_loss_cls: (33489,1)
rpn_loss_bbox: (33489,1)
loss_cls: (100,1)
loss_cls: (100,1)

显然我不能把它们加起来,在将损失传递给训练师之前,我是否必须使用'拼接'来堆叠它们?我们有一个Python示例吗?

1 个答案:

答案 0 :(得分:1)

您可以使用reduce_sumreduce_meanall_axes()all_static_axes()一起使每个损失成为标量,然后根据需要合并它们。