composer
composer copied to clipboard
Set `torch.utils.data.DataLoader.batch_sampler` epoch if defined
🚀 Feature Request
Current implementation of composer trainer call the DistributedSampler.set_epoch method only on the Dataloader.sampler attribute but not on the Dataloader.batch_sampler, even if it is defined.
One example here.
Motivation
When doing distributed learning based on batch sampler one might want the epoch to be properly set on the batch_sampler since it is usually used to seed new seed over time.
This could be useful for Metric learning where batch_sampler can be a worth feature.
For now composer trainer only handle regular sampler.
Implementation
I'll propose a PR with a technical implementation. The idea is to check if batch_sampler is defined, in which case we can set the epoch properly, else we do it on the regular sampler (always defined in torch.utils.data.DalaLoader).
The proposed PR: https://github.com/mosaicml/composer/pull/3124
Merged by @mvpatel2000. Closing the issue.