for _ in range(start_step, train_steps):
try:
self.train_step(self.data_iterator)
except StopIteration:
logger.info(
"epoch:%s Dataloader finished with drop_last %s",
epoch,
config.dataloader.drop_last,
)
break
self.on_epoch_end()
self.state.epoch = epoch + 1
print_device_mem_info(f"VRAM usage after epoch {epoch + 1}")
if config.dataloader.use_background_prefetcher:
self.data_iterator.stop()
self.on_train_end()
finally:
if config.dataloader.use_background_prefetcher:
self.data_iterator.stop()