Skip to content

Commit 183c9dd

Browse files
authored
Allow for ACCELERATE_SEED env var (huggingface#2126)
* Manual seeds * None * Add to docs * Document * Use torch seed for simplicity * Rm from doc * Better version
1 parent 4f10031 commit 183c9dd

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

docs/source/package_reference/utilities.md

+6
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,12 @@ These are basic dataclasses used throughout 🤗 Accelerate and they can be pass
5050

5151
[[autodoc]] utils.ProjectConfiguration
5252

53+
## Environmental Variables
54+
55+
These are environmental variables that can be enabled for different use cases
56+
57+
* `ACCELERATE_DEBUG_MODE` (`str`): Whether to run accelerate in debug mode. More info available [here](../usage_guides/debug.md).
58+
5359
## Plugins
5460

5561
These are plugins that can be passed to the [`Accelerator`] object. While they are defined elsewhere in the documentation,

src/accelerate/data_loader.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,15 @@ class SeedableRandomSampler(RandomSampler):
7878
def __init__(self, *args, **kwargs):
7979
super().__init__(*args, **kwargs)
8080
self.epoch = 0
81+
self.seed = torch.random.initial_seed()
8182

8283
def __iter__(self):
8384
if self.generator is None:
8485
self.generator = torch.Generator()
86+
else:
87+
self.seed = self.generator.initial_seed()
8588
# Allow `self.epoch` to modify the seed of the generator
86-
seed = self.epoch + self.generator.initial_seed()
89+
seed = self.epoch + self.seed
8790
self.generator.manual_seed(seed)
8891
yield from super().__iter__()
8992
self.set_epoch(self.epoch + 1)

0 commit comments

Comments
 (0)