(self)
| 363 | self._reset_next_step = True |
| 364 | |
| 365 | def reset(self): |
| 366 | failed_attempts = 0 |
| 367 | while True: |
| 368 | try: |
| 369 | return self._reset_attempt() |
| 370 | except EpisodeInitializationError as e: |
| 371 | failed_attempts += 1 |
| 372 | if failed_attempts < self._max_reset_attempts: |
| 373 | logging.error('Error during episode reset: %s', repr(e)) |
| 374 | else: |
| 375 | raise |
| 376 | |
| 377 | def _reset_attempt(self): |
| 378 | if self._recompile_mjcf_every_episode or self._mjcf_never_compiled: |