ManualOptimization
- class pytorch_lightning.loops.optimization.ManualOptimization[source]
Bases:
pytorch_lightning.loops.loop.Loop
[Dict
[str
,Any
]]A special loop implementing what is known in Lightning as Manual Optimization where the optimization happens entirely in the
training_step()
and therefore the user is responsible for back-propagating gradients and making calls to the optimizers.This loop is a trivial case because it performs only a single iteration (calling directly into the module’s
training_step()
) and passing through the output(s).- advance(kwargs)[source]
Performs the training step for manual optimization.
- Parameters:
kwargs (
OrderedDict
) – The kwargs passed down to the hooks.- Return type:
- on_run_end()[source]
Returns the result of this loop, i.e., the post-processed outputs from the training step.
- on_run_start(*_, **__)[source]
Hook to be called as the first thing after entering
run
(except the state reset).Accepts all arguments passed to
run
.- Return type:
- reset()[source]
Resets the internal state of the loop at the beginning of each call to
run
.Example:
def reset(self): # reset your internal state or add custom logic # if you expect run() to be called multiple times self.current_iteration = 0 self.outputs = []
- Return type: