mindflow.loss.MTLWeightedLoss

class mindflow.loss.MTLWeightedLoss(num_losses, bound_param=0.0)[源代码]

计算MTL策略自动加权多任务损失。请参考 自动加权进行多任务学习

参数:
  • num_losses (int) - 多任务损失的数量,应为正整数。

  • bound_param (float) - 当边界值大于某个给定常数时,对权重和正则项的增加。

输入:
  • input (tuple[Tensor]) - 输入数据。

输出:

Tensor。多任务学习自动加权计算出的损失。

支持平台:

Ascend GPU

样例:

>>> import numpy as np
>>> from mindflow.loss import MTLWeightedLoss
>>> import mindspore
>>> from mindspore import Tensor
>>> net = MTLWeightedLoss(num_losses=2)
>>> input1 = Tensor(1.0, mindspore.float32)
>>> input2 = Tensor(0.8, mindspore.float32)
>>> output = net((input1, input2))
>>> print(output)
2.2862945