-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Description
Describe the bug
When using a DataLoader with num_workers > 1, and a Rand[Zoom/Rotate/Flip)d transform, all the data in the multiple workers have the same random state.
To Reproduce
With train_ds
having some random parameterized transforms.
train_loader: DataLoader = DataLoader(
train_ds, # <-- This is a dataset of both the input raw data filenames + definition of transforms
batch_size=1,
shuffle=True,
num_workers=88,
collate_fn=list_data_collate,
)
This is particularly disturbing when running on a machine with 40+ CPUs and huge numbers of images have the same parameter augmentation.
Expected behavior
Each transform should have it's own random parameters chosen, regardless of the number of workers chosen.
Screenshots
NOTE: The number of replicated rotation values is always equal to the num_workers specified.
Rotating by 19.367042973517755
Rotating by 19.367042973517755
Rotating by 19.367042973517755
Rotating by 19.367042973517755
Rotating by 4.039486469720721
Rotating by 4.039486469720721
Rotating by 4.039486469720721
Rotating by 4.039486469720721
Rotating by 13.13047017599905
Rotating by 13.13047017599905
Rotating by 13.13047017599905
Rotating by 13.13047017599905
Metadata
Metadata
Assignees
Labels
No labels