def step[modalities_origin: ImmOrigin, contents_origin: ImmOrigin, bags_origin: ImmOrigin, groups_origin: ImmOrigin, sides_origin: ImmOrigin, choices_origin: ImmOrigin, targets_origin: ImmOrigin, relations_origin: ImmOrigin, stats_origin: MutOrigin, //](
self,
modalities: Span[Modality, modalities_origin],
contents: TapeView[contents_origin],
mut arena: Arena,
config: TrainerStepConfig[bags_origin, groups_origin, sides_origin, choices_origin, targets_origin, relations_origin, stats_origin] = TrainerStepConfig(bags=Span(), temperature_groups=Span(), sides=Span(), choices=Optional(), choice_targets=Optional(), relations=Relations(), outputs_scalar=ScalarKind.F32, stats=Optional())
) -> Deferred[_TrainerStepCall[origin_of(arena)], origin_of(bags_origin, choices_origin, contents_origin, groups_origin, modalities_origin, origin, relations_origin, sides_origin, stats_origin, targets_origin)]
def step[modalities_origin: ImmOrigin, contents_origin: ImmOrigin, bags_origin: ImmOrigin, groups_origin: ImmOrigin, sides_origin: ImmOrigin, choices_origin: ImmOrigin, targets_origin: ImmOrigin, relations_origin: ImmOrigin, stats_origin: MutOrigin, //](
self,
modalities: Span[Modality, modalities_origin],
contents: TapeView[contents_origin],
config: TrainerStepConfig[bags_origin, groups_origin, sides_origin, choices_origin, targets_origin, relations_origin, stats_origin] = TrainerStepConfig(bags=Span(), temperature_groups=Span(), sides=Span(), choices=Optional(), choice_targets=Optional(), relations=Relations(), outputs_scalar=ScalarKind.F32, stats=Optional())
) -> Deferred[_TrainerStepCall[MutUntrackedOrigin], origin_of(bags_origin, choices_origin, contents_origin, groups_origin, modalities_origin, origin, relations_origin, sides_origin, stats_origin, targets_origin)]
Submits TrainVerbs.step; every input stays borrowed until final. Calls uform_trainer_step.