Optimizer¶
Optimizer wrapper that resolves PyTorch optimizers by name.
This module provides a thin wrapper around torch.optim that allows
optimizers to be instantiated from CLI strings while exposing a uniform
interface for learning-rate adjustments.
Example:¶
>>> from experiments import Optimizer, Model
>>> model = Model("lenet", num_classes=10)
>>> optim = Optimizer("adam", model, lr=0.001)
>>> optim.set_lr(0.0001)
- class experiments.optimizer.Optimizer(name_build, model, *args, **kwargs)¶
Bases:
objectOptimizer wrapper with name resolution and LR control.
- Parameters:
name_build (str or callable) – Optimizer name (e.g.
"adam","sgd") or a constructor function. Names are resolved againsttorch.optim.model (experiments.Model) – Model whose parameters will be optimized.
*args (object) – Additional positional arguments forwarded to the optimizer constructor.
**kwargs (object) – Additional keyword arguments forwarded to the optimizer constructor.
Raises
------
tools.UnavailableException – If
name_buildis a string that does not match any known optimizer.