fishy.experiments.deep_training¶
Training orchestrator for the deep learning pipeline.
Classes
- class fishy.experiments.deep_training.MixedOptimizer(optimizers: List[Optimizer])[source]¶
Bases:
OptimizerWrapper that combines Muon for matrices and another optimizer for vectors.
- step(closure=None)[source]¶
Perform a single optimization step to update parameter.
- Parameters:
closure (Callable) – A closure that reevaluates the model and returns the loss. Optional for most optimizers.
- zero_grad(set_to_none: bool = True)[source]¶
Reset the gradients of all optimized
torch.Tensors.- Parameters:
set_to_none (bool, optional) –
Instead of setting to zero, set the grads to None. Default:
TrueThis will in general have lower memory footprint, and can modestly improve performance. However, it changes certain behaviors. For example:
When the user tries to access a gradient and perform manual ops on it, a None attribute or a Tensor full of 0s will behave differently.
If the user requests
zero_grad(set_to_none=True)followed by a backward pass,.grads are guaranteed to be None for params that did not receive a gradient.torch.optimoptimizers have a different behavior if the gradient is 0 or None (in one case it does the step with a gradient of 0 and in the other it skips the step altogether).
- class fishy.experiments.deep_training.ModelTrainer(config: TrainingConfig, wandb_run: Any | None = None, ctx: RunContext | None = None)[source]¶
Bases:
objectOrchestrates deep learning experiments.
- __init__(config: TrainingConfig, wandb_run: Any | None = None, ctx: RunContext | None = None)[source]¶
Functions
- fishy.experiments.deep_training.run_training_pipeline(config: TrainingConfig, wandb_run: Any | None = None, ctx: RunContext | None = None) Dict[str, Any][source]¶
s