[torch 参数更多 ]torch.nn.KLDivLoss

torch.nn.KLDivLoss

torch.nn.KLDivLoss(size_average=None,
                   reduce=None,
                   reduction='mean',
                   log_target=False)

paddle.nn.KLDivLoss

paddle.nn.KLDivLoss(reduction='mean',
                    log_target=False)

PyTorch 相比 Paddle 支持更多其他参数,具体如下:

参数映射

| PyTorch | PaddlePaddle | 备注 | | ————- | ———— | —————————————————— | | size_average | - | PyTorch 已弃用, Paddle 无此参数,需要转写。 | | reduce | - | PyTorch 已弃用, Paddle 无此参数,需要转写。 | | reduction | reduction | 表示对输出结果的计算方式。 | | log_target | log_target | 指定目标是否属于 log 空间。 |

转写示例

size_average

# PyTorch 的 size_average、reduce 参数转为 Paddle 的 reduction 参数
if size_average is None:
    size_average = True
if reduce is None:
    reduce = True

if size_average and reduce:
    reduction = 'mean'
elif reduce:
    reduction = 'sum'
else:
    reduction = 'none'