在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示例吗?
答案 0 :(得分:1)
您可以使用reduce_sum
或reduce_mean
与all_axes()
或all_static_axes()
一起使每个损失成为标量,然后根据需要合并它们。