多时间跨度指标#

class pytorch_forecasting.metrics.base_metrics.MultiHorizonMetric(reduction: str = 'mean', **kwargs)[来源]#

基础: Metric

定义多时间跨度预测度量标准的抽象类

初始化指标

Parameters:
  • name (str) – 指标名称。默认为类名称。

  • 分位数 (列表[浮点数], 可选) – 概率范围的分位数。默认为 None。

  • reduction (str, 可选) – 减少方式,“none”,“mean”或“sqrt-mean”。默认为“mean”。

方法

compute()

计算指标的抽象方法

loss(y_pred, target)

计算未减少的损失。

mask_losses(损失, 长度[, 减少])

掩码损失。

reduce_loss(损失, 长度[, 减少方式])

减少损失。

update(y_pred, target)

处理值掩码的指标更新方法。

compute()[来源]#

计算指标的抽象方法

应该在派生类中被重写

Parameters:
  • y_pred – 网络输出

  • y_actual – 实际值

Returns:

可以应用反向传播的度量值

Return type:

torch.Tensor

loss(y_pred: Dict[str, Tensor], target: Tensor) Tensor[来源]#

计算不进行减小的损失。在派生类中覆盖

Parameters:
  • y_pred – 网络输出

  • y_actual – 实际值

Returns:

作为反向传播的单个数字的损失/指标

Return type:

torch.Tensor

mask_losses(losses: Tensor, lengths: Tensor, reduction: str = None) Tensor[来源]#

掩蔽损失。

Parameters:
  • 损失 (torch.Tensor) – 总损失。第一维是样本,第二维是时间步长

  • lengths (torch.Tensor) – 总长度

  • reduction (str, 可选) – 减少类型。默认为 self.reduction

Returns:

掩蔽损失

Return type:

torch.Tensor

reduce_loss(losses: Tensor, lengths: Tensor, reduction: str = None) Tensor[来源]#

减少损失。

Parameters:
  • 损失 (torch.Tensor) – 总损失。第一维是样本,第二维是时间步长

  • lengths (torch.Tensor) – 总长度

  • reduction (str, 可选) – 减少的类型。默认为 self.reduction.

Returns:

减少损失

Return type:

torch.Tensor

update(y_pred, target)[来源]#

处理值掩码的指标更新方法。

不要重写这个方法,而是loss()

Parameters:
  • y_pred (Dict[str, torch.Tensor]) – 网络输出

  • target (Union[torch.Tensor, rnn.PackedSequence]) – 实际值

Returns:

用于反向传播的单个数字损失

Return type:

torch.Tensor