Spaces:
Sleeping
Sleeping
Download easyanimate/vae/ldm/data/dataset_callback.py from jarnot/EasyAnimate: direct link, hf CLI and curl.
- Browser
- Download file 1.17 kB
-
https://huggingface.co/spaces/jarnot/EasyAnimate/resolve/main/easyanimate/vae/ldm/data/dataset_callback.py
- Command line
-
hf download hf://spaces/jarnot/EasyAnimate/easyanimate/vae/ldm/data/dataset_callback.py
-
curl -L -o dataset_callback.py https://huggingface.co/spaces/jarnot/EasyAnimate/resolve/main/easyanimate/vae/ldm/data/dataset_callback.py
1.17 kB
| #-*- encoding:utf-8 -*- | |
| from pytorch_lightning.callbacks import Callback | |
| class DatasetCallback(Callback): | |
| def __init__(self): | |
| self.sampler_pos_start = 0 | |
| self.preload_used_idx_flag = False | |
| def on_train_start(self, trainer, pl_module): | |
| if not self.preload_used_idx_flag: | |
| self.preload_used_idx_flag = True | |
| trainer.train_dataloader.batch_sampler.sampler_pos_reload = self.sampler_pos_start | |
| def on_save_checkpoint(self, trainer, pl_module, checkpoint): | |
| if trainer.train_dataloader is not None: | |
| # Save sampler_pos_start parameters in the checkpoint | |
| checkpoint['sampler_pos_start'] = trainer.train_dataloader.batch_sampler.sampler_pos_start | |
| def on_load_checkpoint(self, trainer, pl_module, checkpoint): | |
| # Restore sampler_pos_start parameters from the checkpoint | |
| if 'sampler_pos_start' in checkpoint: | |
| self.sampler_pos_start = checkpoint.get('sampler_pos_start', 0) | |
| print('Load sampler_pos_start from checkpoint, sampler_pos_start = %d' % self.sampler_pos_start) | |
| else: | |
| print('The sampler_pos_start is not in checkpoint') |