Skip to content

Commit 600ef67

Browse files
authored
fix: adjust num_workers when # workers>len(files)
1 parent a69679e commit 600ef67

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

seqchromloader/loader.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -259,13 +259,16 @@ def setup(self, stage=None):
259259
])
260260

261261
def train_dataloader(self):
262+
num_workers = self.num_workers if self.num_workers < len(self.train_wds) else len(self.train_wds)
262263
if self.patch_last:
263-
return wds.WebLoader(self.train_loader.repeat(2), num_workers=self.num_workers, batch_size=self.batch_size_per_rank).with_epoch(ceil(self.train_dataset_size/self.batch_size)) # pad the last batch if there is remainder
264+
return wds.WebLoader(self.train_loader.repeat(2), num_workers=num_workers, batch_size=self.batch_size_per_rank).with_epoch(ceil(self.train_dataset_size/self.batch_size)) # pad the last batch if there is remainder
264265
else:
265-
return wds.WebLoader(self.train_loader, num_workers=self.num_workers, batch_size=self.batch_size_per_rank)
266+
return wds.WebLoader(self.train_loader, num_workers=num_workers, batch_size=self.batch_size_per_rank)
266267

267268
def val_dataloader(self):
268-
return wds.WebLoader(self.val_loader, num_workers=self.num_workers, batch_size=self.batch_size_per_rank)
269+
num_workers = self.num_workers if self.num_workers < len(self.val_wds) else len(self.val_wds)
270+
return wds.WebLoader(self.val_loader, num_workers=num_workers, batch_size=self.batch_size_per_rank)
269271

270272
def test_dataloader(self):
271-
return wds.WebLoader(self.test_loader, num_workers=self.num_workers, batch_size=self.batch_size_per_rank)
273+
num_workers = self.num_workers if self.num_workers < len(self.test_wds) else len(self.test_wds)
274+
return wds.WebLoader(self.test_loader, num_workers=num_workers, batch_size=self.batch_size_per_rank)

0 commit comments

Comments
 (0)