NormLimitRegularizer

class NormLimitRegularizer(*, weight: float = 1.0, apply_only_once: bool = False, dim: int | None = -1, p: float = 2.0, power_norm: bool = True, max_norm: float = 1.0, **kwargs)[source]

基础类: Regularizer

一个正则化器,它对最大范数制定了一个软约束。

初始化正则化器。

Parameters:
  • weight (Tensor) – 正则化的相对权重

  • apply_only_once (bool) – 重置后是否应多次应用正则化?

  • dim (int | None) – 计算Lp范数的维度,参见 powersum_norm()

  • p (float) – Lp范数的参数 \(p\),参见 powersum_norm()

  • power_norm (bool) – 是否使用\(p\)范数的幂来代替

  • max_norm (float) – 最大范数,超过此范数才会添加惩罚

  • kwargs – 传递给 Regularizer.__init__() 的额外基于关键字的参数

方法总结

forward(x)

计算一个张量的正则化项。

方法文档

forward(x: Tensor) Tensor[源代码]

计算一个张量的正则化项。

Parameters:

x (Tensor)

Return type:

Tensor