From 2f604e8f0db6b88d07b00573eb45adea0984dddd Mon Sep 17 00:00:00 2001 From: Tony Date: Tue, 9 Jun 2026 20:56:12 -0400 Subject: [PATCH] Honor --num_workers in the eval dataloader The eval DataLoader ignored --num_workers, so all per-item work (ECG loading, normalization, image rendering for the rgb representation, tokenization) ran on the main process between generate() calls. Pass num_workers and persistent_workers through, matching the train loader. Items are unchanged (verified identical between num_workers=0 and 2); loading 8 rgb eval batches drops from 13.5s to 6.2s with 2 workers. The default (--num_workers 0) behaves exactly as before. --- src/dataloaders/build_dataloader.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/dataloaders/build_dataloader.py b/src/dataloaders/build_dataloader.py index af229d3..b780eca 100644 --- a/src/dataloaders/build_dataloader.py +++ b/src/dataloaders/build_dataloader.py @@ -44,8 +44,10 @@ def build_torch_dataloader(self, torch_dataset): torch_dataset, batch_size=1, # batched inference/eval not implemented shuffle=False, + num_workers=self.args.num_workers, pin_memory=torch.cuda.is_available(), collate_fn=self.collate_fn, + persistent_workers=(self.args.num_workers > 0), ) return torch_data_loader