Add early support for `torchdata.stateful_dataloader.StatefulDataLoader` within the `Accelerator` (#2895)
* temporary commit
* checkout?
* dataloader wrapper
* tmp
* weird failing test
* trying multiple inheritance
* DataLoaderAdapter
* make style
* Some dark magic dynamic reflection (for backwards compat)
* typo
* some tests
* more mixin stuff
* maybe found broken test?
* this is a very invasive feature
* i think the feature is done?
* add xpu support (#2864)
* better tests
* discovered a bug
* maybe fixed bug?
* make style
* hopefully this is PR ready
* properly skip tests
* parameterize
* temporary commit
* checkout?
* dataloader wrapper
* tmp
* weird failing test
* trying multiple inheritance
* DataLoaderAdapter
* make style
* Some dark magic dynamic reflection (for backwards compat)
* typo
* some tests
* more mixin stuff
* maybe found broken test?
* this is a very invasive feature
* i think the feature is done?
* better tests
* discovered a bug
* maybe fixed bug?
* make style
* hopefully this is PR ready
* properly skip tests
* parameterize
* Update src/accelerate/utils/dataclasses.py
Co-authored-by: Zach Mueller <muellerzr@gmail.com>
* Update src/accelerate/data_loader.py
Co-authored-by: Zach Mueller <muellerzr@gmail.com>
* merge conflicts
* move imports
* make style
* merges are breaking tests
* fix test name
* Require safetensors>=0.4.3
* undo last commit
* minor style
* address pr comments
* Torchdata version 0.8.0 is stable now
* added docs and require torchdata>=0.8.0 for testing
* test base_dataloader attr doesn't cause infinite recursion
* address pr
* replace super().__iter__ with self.base_dataloader.__iter__
---------
Co-authored-by: Fanli Lin <fanli.lin@intel.com>
Co-authored-by: Zach Mueller <muellerzr@gmail.com>