class_docstr: A saveable version of the PyTorch DataLoader.
  
  See `torch.utils.data.DataLoader` for usage. This class should work exactly
  like the PyTorch basic DataLoader, but this can be checkpointed with
  SpeechBrain's Checkpointer.
  
  Note
  ----
  1. The saveability is implemented via some unfortunately slightly magical
  means.
  2. The data loader cannot recover after entering __iter__. Normally this is
  not a problem, as recovery should happen before training begins.  However,
  just before evaluation, it is also typical to recover the checkpoint at
  which performance was the best. Thus, if a checkpoint is loaded after
  entering __iter__, we just assume it is for this reason. A warning is
  logged, but that is all.
class_docstr_tok: ["A","saveable","version","of","the","PyTorch","DataLoader",".","See","`","torch.utils.data.DataLoader","`","for","usage",".","This","class","should","work","exactly","like","the","PyTorch","basic","DataLoader",",","but","this","can","be","checkpointed","with","SpeechBrain","'s","Checkpointer",".","Note","--","--","1",".","The","saveability","is","implemented","via","some","unfortunately","slightly","magical","means",".","2",".","The","data","loader","can","not","recover","after","entering","__iter__",".","Normally","this","is","not","a","problem",",","as","recovery","should","happen","before","training","begins",".","However",",","just","before","evaluation",",","it","is","also","typical","to","recover","the","checkpoint","at","which","performance","was","the","best",".","Thus",",","if","a","checkpoint","is","loaded","after","entering","__iter__",",","we","just","assume","it","is","for","this","reason",".","A","warning","is","logged",",","but","that","is","all","."]
code: def _speechbrain_save(self, path):
      if isinstance(self.dataset, IterableDataset):
          logging.warning(
              "Warning again: a checkpoint was requested on "
              "SaveableDataLoader, but the dataset is an IterableDataset. "
              "Cannot save the position in an IterableDataset. Not raising "
              "an error; assuming that you know what you're doing."
          )
      if self._speechbrain_iterator is None:
          to_save = None
      else:
          to_save = self._speechbrain_iterator._num_yielded
      with open(path, "w") as fo:
          fo.write(str(to_save))
  
imports: from torch.utils.data import DataLoader
  from torch.utils.data import IterableDataset
  from torch.utils.data.dataloader import _BaseDataLoaderIter
  import logging
  import warnings
  import functools
  from torch.utils.data import DistributedSampler
  from speechbrain.dataio.batch import PaddedBatch, BatchsizeGuesser
  from speechbrain.dataio.dataset import DynamicItemDataset
  from speechbrain.dataio.sampler import ReproducibleRandomSampler, DistributedSamplerWrapper
  from speechbrain.utils.checkpoints import register_checkpoint_hooks, mark_as_saver, mark_as_loader
label_desc: Use image node_id 3 for calling the SaveableDataLoader obj's underlying member method code with example usage: obj._speechbrain_save(path) without return types