(self, step_idx: int = 0)
| 372 | self.is_valid = False |
| 373 | |
| 374 | def step(self, step_idx: int = 0): |
| 375 | assert self.is_valid, self.error_msg |
| 376 | for optimizer_idx in range(0, len(self._opts)): |
| 377 | outputs = None |
| 378 | if self._is_numpy_input: |
| 379 | batch = None |
| 380 | if step_idx == 0: |
| 381 | batch = self._first_numpy_batch[optimizer_idx] |
| 382 | else: |
| 383 | batch = self._cfg.data(step_idx, optimizer_idx) |
| 384 | outputs = self._jobs[optimizer_idx](*batch).get() |
| 385 | else: |
| 386 | outputs = self._jobs[optimizer_idx]().get() |
| 387 | self._method_callback( |
| 388 | "on_training_step_end", |
| 389 | outputs=outputs, |
| 390 | step_idx=step_idx, |
| 391 | optimizer_idx=optimizer_idx, |
| 392 | ) |
| 393 | |
| 394 | def _get_and_check_step(self): |
| 395 | if not self._model.method_overrided("training_step"): |
nothing calls this directly
no test coverage detected