class_docstr: The `StreamingDataLoader` keeps track of the number of samples fetched in order to enable resumability of the
  dataset.
class_docstr_tok: ["The","`","StreamingDataLoader","`","keeps","track","of","the","number","of","samples","fetched","in","order","to","enable","resumability","of","the","dataset","."]
code: def state_dict(self) -> Dict[str, Any]:
      if isinstance(self.dataset, StreamingDataset):
          assert self.batch_size
          num_samples = self.num_samples_yielded
          return self.dataset.state_dict(
              num_samples, self.num_workers, self.batch_size
          )
      return self.dataset.state_dict(self.num_workers, self.batch_size)
  
imports: import asyncio
  import inspect
  import logging
  import os
  from importlib import reload
  from typing import Any, Callable, Dict, List, Optional, Union
  import torch
  from torch.utils.data import Dataset, IterableDataset
  from torch.utils.data._utils.collate import default_collate
  from torch.utils.data._utils.fetch import _BaseDatasetFetcher
  from torch.utils.data.dataloader import DataLoader, _BaseDataLoaderIter, _DatasetKind, _MultiProcessingDataLoaderIter, _SingleProcessDataLoaderIter
  from torch.utils.data.sampler import BatchSampler, Sampler
  from lightning.data.streaming import Cache
  from lightning.data.streaming.combined import CombinedStreamingDataset
  from lightning.data.streaming.constants import _DEFAULT_CHUNK_BYTES, _TORCH_GREATER_EQUAL_2_1_0, _VIZ_TRACKER_AVAILABLE
  from lightning.data.streaming.dataset import StreamingDataset
  from lightning.data.streaming.sampler import CacheBatchSampler
  from lightning.data.utilities.env import _DistributedEnv
label_desc: Use image node_id 3 for calling the StreamingDataLoader obj's underlying member method code with example usage: obj.state_dict() and returns: self, self