我是Keras的新手.我需要一些帮助,使用TensorFlow后端在keras中编写自定义损失函数,以获得以下损失方程.

传递给损失函数的参数是:
y_true会是好形的(batch_size, N, 2).在这里,我们(x, y)在批处理中的每个样本中传递N个坐标.y_pred会是好形的(batch_size, 256, 256, N).在这里,我们256 x 256在批次中的每个样本中传递N个预测的像素热图.i ∈ [0, 255]
j ∈ [0, 255]
Mn(i, j)表示(i, j)第n 个预测热图的像素位置的值.
Mn∼(i, j) = Guassian2D((i, j), y_truen, std) 哪里
std = standard deviation,两个尺寸(5 px)的标准偏差相同.
y_true n是第n 个(x,y)坐标.这就是意思.
有关详细信息,请检查本文" 人体姿势估计"中描述的l 2损失 .
注意:我在y_true和y_pred的形状中提到了batch_size.我假设Keras称整个批次的损失函数,而不是批次中的单个样本.如果我错了,请纠正我.
def l2_loss(y_true, y_pred):
loss = 0
n = y_true.shape[0] …Run Code Online (Sandbox Code Playgroud)