@@ -320,7 +320,7 @@ class LibriSpeechDataset(Dataset):
320320 """
321321
322322 def __init__ (self , config : TrainingConfiguration , split : str ,
323- is_training : bool = True , data_root : Optional [str ] = None , interactive : bool = True ):
323+ is_training : bool = True , data_root : Optional [str ] = None , interactive : bool = True , no_download : bool = False ):
324324 """
325325 Initialize LibriSpeech dataset
326326
@@ -330,6 +330,7 @@ def __init__(self, config: TrainingConfiguration, split: str,
330330 is_training: Whether this is for training (affects augmentation)
331331 data_root: Root directory for LibriSpeech data
332332 interactive: If False, auto-confirm dataset download/prepare (--yes)
333+ no_download: If True, use only existing prepared data; fail if missing (--no-download)
333334 """
334335 self .config = config
335336 self .split = split
@@ -348,7 +349,7 @@ def __init__(self, config: TrainingConfiguration, split: str,
348349 self .dataset_manager = DatasetManager ()
349350
350351 # Ensure dataset is prepared
351- if not self .dataset_manager .prepare_datasets ([split ], interactive = interactive ):
352+ if not self .dataset_manager .prepare_datasets ([split ], interactive = interactive , no_download = no_download ):
352353 raise RuntimeError (f"Failed to prepare dataset: { split } " )
353354
354355 # Load prepared data file list
@@ -690,7 +691,8 @@ def collate_audio_samples(batch: List[AudioSample]) -> Dict[str, torch.Tensor]:
690691def create_data_loaders (config : TrainingConfiguration ,
691692 data_root : Optional [str ] = None ,
692693 pin_memory : Optional [bool ] = None ,
693- interactive : bool = True ) -> Tuple [DataLoader , DataLoader , DataLoader ]:
694+ interactive : bool = True ,
695+ no_download : bool = False ) -> Tuple [DataLoader , DataLoader , DataLoader ]:
694696 """
695697 Create training, validation, and test data loaders
696698
@@ -699,6 +701,7 @@ def create_data_loaders(config: TrainingConfiguration,
699701 data_root: Root directory for data (optional)
700702 pin_memory: Override pin_memory setting (optional)
701703 interactive: If False, auto-confirm dataset download/prepare (--yes)
704+ no_download: If True, use only existing prepared data; fail if any missing (--no-download)
702705
703706 Returns:
704707 Tuple of (train_loader, val_loader, test_loader)
@@ -714,7 +717,8 @@ def create_data_loaders(config: TrainingConfiguration,
714717 split = split ,
715718 is_training = True ,
716719 data_root = data_root ,
717- interactive = interactive
720+ interactive = interactive ,
721+ no_download = no_download
718722 )
719723 train_datasets .append (dataset )
720724
@@ -727,15 +731,17 @@ def create_data_loaders(config: TrainingConfiguration,
727731 split = config .data .val_split ,
728732 is_training = False ,
729733 data_root = data_root ,
730- interactive = interactive
734+ interactive = interactive ,
735+ no_download = no_download
731736 )
732737
733738 test_dataset = LibriSpeechDataset (
734739 config = config ,
735740 split = config .data .test_split ,
736741 is_training = False ,
737742 data_root = data_root ,
738- interactive = interactive
743+ interactive = interactive ,
744+ no_download = no_download
739745 )
740746
741747 # Create data loaders
0 commit comments