kldiv_loss

    该OP计算输入(X)和输入(Target)之间的Kullback-Leibler散度损失。注意其中输入(X)应为对数概率值,输入(Target)应为概率值。

    kL发散损失计算如下:

    kldiv_loss - 图1

    为输入(X),yy 输入(Target)。

    当 为 mean 时,输出损失为[1]的形状,输出为所有损失的平均值。

    reduction 为 时,输出损失为[1]的形状,输出为所有损失的总和。

    reductionbatchmean 时,输出损失为[N]的形状,N为批大小,输出为所有损失的总和除以批量大小。

    参数:

    • x (Variable) - KL散度损失算子的输入张量。维度为[N, *]的多维Tensor,其中N是批大小,*表示任何数量的附加维度,数据类型为float32或float64。

    • reduction (Variable)-要应用于输出的reduction类型,可用类型为‘none’ | ‘batchmean’ | ‘mean’ | ‘sum’,‘none’表示无reduction,‘batchmean’ 表示输出的总和除以批大小,‘mean’ 表示所有输出的平均值,‘sum’表示输出的总和。

    • name (None|str) – 该参数供开发人员打印调试信息时使用,具体用法请参见 ,默认值为None。

    返回:Variable(Tensor) KL散度损失。

    返回类型:变量(Variable),数据类型与输入 x 一致。