cross_entropy

    该OP计算输入input和标签label间的交叉熵,可用于计算硬标签或软标签的交叉熵。其中,硬标签是指实际label值,例如:0, 1, 2…,软标签是指实际label的概率,例如:0.6, 0,8, 0,2…

    1. 软标签交叉熵算法:若soft_label = True,

      表明每个样本对应类别j的软标签值:

    • input (Tensor) – 维度为

      的多维Tensor,其中最后一维D是类别数目。数据类型为float32或float64。

    • label (Tensor) – 输入input对应的标签值。若soft_label=False,要求label维度为 [N1,N2,…,Nk][N1,N2,…,Nk] 或 [N1,N2,…,Nk,1][N1,N2,…,Nk,1] ,数据类型为int64,且值必须大于等于0且小于D;若soft_label=True,要求label的维度、数据类型与input相同,且每个样本各软标签的总和为1。

    • ignore_index (int) – 指定一个忽略的标签值,此标签值不参与计算,负值表示无需忽略任何标签值。仅在soft_label=False时有效。 默认值为-100。

    • reduction (str, optional) – 指示如何按批次大小平均损失,可选值为”none”,”mean”,”sum”,如果选择是”mean”,则返回减少后的平均损失;如果选择是”sum”,则返回减少后的总损失。如果选择是”none”,则返回没有减少的损失。默认值是“mean”。

    • soft_label (bool, optional) – 指明label是否为软标签。默认为False,表示label为硬标签;若soft_label=True则表示软标签。

    • name (str,optional) - 操作的名称(可选,默认值为None)。更多信息请参见 。

    表示交叉熵结果的Tensor,数据类型与input相同。若soft_label=False,则返回值维度与label维度相同;若soft_label=True,则返回值维度为 [N1,N2,…,Nk,1][N1,N2,…,Nk,1] 。