Skip to content

Commit dc28ad0

Browse files
committed
Fixes
1 parent 551570a commit dc28ad0

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

pytorch_lightning/core/optimizer.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,10 +171,12 @@ def closure_dis():
171171
assert self._strategy is not None
172172
assert self._strategy.lightning_module is not None
173173
with self._strategy.lightning_module.trainer.profiler.profile(profiler_action):
174-
return self._strategy.optimizer_step(self._optimizer, self._optimizer_idx, closure, **kwargs)
174+
step_output = self._strategy.optimizer_step(self._optimizer, self._optimizer_idx, closure, **kwargs)
175175

176176
self.on_after_step()
177177

178+
return step_output
179+
178180

179181
def _init_optimizers_and_lr_schedulers(
180182
model: "pl.LightningModule",

pytorch_lightning/loops/fit_loop.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,10 @@ def __init__(
7171
@property
7272
def global_step(self) -> int:
7373
"""Returns the global step."""
74-
return self.epoch_loop.global_step
74+
lightning_module = self.trainer.lightning_module
75+
if lightning_module is None or lightning_module.automatic_optimization:
76+
return self.epoch_loop.global_step
77+
return self.epoch_loop.batch_loop.manual_loop.optim_step_progress.total.completed
7578

7679
@global_step.setter
7780
def global_step(self, value: int) -> None:
@@ -96,7 +99,7 @@ def split_idx(self) -> int:
9699
@property
97100
def min_steps(self) -> Optional[int]:
98101
# TODO(@justusschock): Why aren't we using the attribute in this class?
99-
"""Returns the minimum numnber of steps to run."""
102+
"""Returns the minimum number of steps to run."""
100103
return self.epoch_loop.min_steps
101104

102105
@min_steps.setter

0 commit comments

Comments
 (0)