protomotions.agents.common.supervision module#
Shared supervision losses for imitation and distillation.
- class protomotions.agents.common.supervision.SupervisionLossType(value)[source]#
-
Supported supervised losses over configured prediction and target keys.
- MSE = 'mse'#
- DISCRETE_CROSS_ENTROPY = 'discrete_cross_entropy'#
- DISCRETE_KL = 'discrete_kl'#
- CONTINUOUS_GAUSSIAN_KL = 'continuous_gaussian_kl'#
- class protomotions.agents.common.supervision.SupervisionLossConfig(
- loss_type=SupervisionLossType.MSE,
- prediction_key='privileged_action',
- target_key='expert_actions',
- prediction_logvar_key=None,
- target_logvar_key=None,
- label_smoothing=0.0,
- weight=1.0,
- log_prefix='supervision',
- enabled=True,
- extra=<factory>,
Bases:
objectKey-based supervised loss over model outputs and labels.
Distillation agents use
prediction_keyandtarget_keyto select tensors from a TensorDict batch, so the same loss config can supervise actions, discrete latent tokens, or distribution parameters.- loss_type: SupervisionLossType = 'mse'#
- __init__(
- loss_type=SupervisionLossType.MSE,
- prediction_key='privileged_action',
- target_key='expert_actions',
- prediction_logvar_key=None,
- target_logvar_key=None,
- label_smoothing=0.0,
- weight=1.0,
- log_prefix='supervision',
- enabled=True,
- extra=<factory>,