tensorflow/models · error · ValueError
`epoch_end` can only be called inside an epoch.
Error message
`epoch_end` can only be called inside an epoch.
What it means
Error "`epoch_end` can only be called inside an epoch." thrown in tensorflow/models.
Source
Thrown at orbit/utils/epoch_helper.py:49
self._global_step = global_step
self._current_epoch = None
self._epoch_start_step = None
self._in_epoch = False
def epoch_begin(self):
"""Returns whether a new epoch should begin."""
if self._in_epoch:
return False
current_step = self._global_step.numpy()
self._epoch_start_step = current_step
self._current_epoch = current_step // self._epoch_steps
self._in_epoch = True
return True
def epoch_end(self):
"""Returns whether the current epoch should end."""
if not self._in_epoch:
raise ValueError("`epoch_end` can only be called inside an epoch.")
current_step = self._global_step.numpy()
epoch = current_step // self._epoch_steps
if epoch > self._current_epoch:
self._in_epoch = False
return True
return False
@property
def batch_index(self):
"""Index of the next batch within the current epoch."""
return self._global_step.numpy() - self._epoch_start_step
@property
def current_epoch(self):
return self._current_epoch
View on GitHub (pinned to e006f5f0d5)
Solutions
- Call epoch_end only between epoch_begin and the end of the epoch.
- Pair every epoch_end with a preceding epoch_begin.
When it happens
Trigger: Thrown at orbit/utils/epoch_helper.py:49 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tensorflow/models@e006f5f0d5 (2026-08-24).
Data as JSON: /api/errors/b442af5426f9a541.
Report an issue: GitHub.