输出校准器

输出校准用于校准模型的输出。我们明确支持一个 用于分类的温度缩放输出校准器, 和一个用于回归的温度缩放输出校准器

或者,您可以通过覆盖Module来引入您自己的输出校准器。

class fortuna.output_calibrator.classification.ClassificationTemperatureScaler(parent=<flax.linen.module._Sentinel object>, name=None)[来源]

分类温度缩放。它使用一个标量温度参数来缩放logits。设\(o\)为输出logits,\(\phi\)为标量参数。那么缩放可以看作是\(g(\phi, o) = \exp(-\phi) o\)

name: Optional[str] = None
parent: Union[Type[Module], Scope, Type[_Sentinel], None] = None
scope: Optional[Scope] = None
class fortuna.output_calibrator.regression.RegressionTemperatureScaler(parent=<flax.linen.module._Sentinel object>, name=None)[来源]

回归温度缩放。它将方差与一个标量温度参数相乘。设\(v\)为方差输出,\(\phi\)为标量参数。那么缩放可以看作\(g(\phi, o) = \exp(\phi) v\)

name: Optional[str] = None
parent: Union[Type[Module], Scope, Type[_Sentinel], None] = None
scope: Optional[Scope] = None
class fortuna.output_calib_model.state.OutputCalibState(step, apply_fn, params, tx, opt_state, encoded_name=(79, 117, 116, 112, 117, 116, 67, 97, 108, 105, 98, 83, 116, 97, 116, 101), frozen_params=None, dynamic_scale=None, mutable=None)[来源]
classmethod init(params, mutable=None, optimizer=None, **kwargs)[来源]

初始化输出校准状态。

Parameters:
  • params (CalibParams) – 校准参数。

  • optimizer (Optional[OptaxOptimizer]) – 与校准状态关联的Optax优化器。

  • mutable (可选[CalibMutable]) – 校准可变对象。

Returns:

校准状态。

Return type:

任何

classmethod init_from_dict(d, optimizer=None, **kwargs)[来源]

从字典初始化校准状态。

Parameters:
  • d (Union[Dict, FrozenDict]) – 一个字典,其键为校准器,值为它们的初始化。

  • optimizer (Optional[OptaxOptimizer]) – 一个用于分配给校准状态的optax优化器。

Returns:

校准状态。

Return type:

OutputCalibState