keras loss 是否必须每批次输出一个标量或整批输出一个标量?

Scr*_*tch 5 python neural-network keras tensorflow loss-function

我在一个相关的问题中读到keras 自定义损失函数必须为每个批次项目返回一个标量。

我写了一个损失函数,为整个批次输出一个标量,网络似乎收敛了。但是,我无法找到任何关于此的文档或代码中究竟发生了什么。某处有广播吗?如果我添加样本权重会发生什么?有人能指出魔法发生的地方吗?

谢谢!

jla*_*nik 1

一般来说,您经常可以使用标量代替向量,这将被解释为填充有该值的向量(例如 1 被解释为 1,1,1,1 )。因此,如果批次损失函数的结果是 x,则它会被解释为批次中每个项目的损失都是 x。