class_docstr: A light wrapper around a ``torch.utils.data.DataLoader`` for HDF5 data, with behavior very
  similar to ``ApproximateNegativeSamplingInteractionsDataLoader``.
  
  If not provided, a ``HDF5Interactions`` dataset will be created as the data for the
  ``DataLoader``. A custom sampler, ``HDF5Sampler``, will also be instantiated for the
  ``DataLoader`` to use that allows sampling in batches that make for faster HDF5 data reads from
  disk.
  
  While similar to a standard ``DataLoader``, note that when ``shuffle is True``, this will only
  shuffle the order of batches and the data within batches to still make for efficient reading
  of HDF5 data from disk, rather than shuffling across the entire dataset.
  
  For greater efficiency, we disable automated batching by setting the DataLoader's
  ``batch_size`` attribute to ``None``. Thus,
  to access the "true" batch size that the sampler uses, access
  ``HDF5InteractionsDataLoader.hdf5_sampler.batch_size``.
  
  Parameters
  ----------
  hdf5_interactions: HDF5Interactions
      If provided, will override input argument for ``hdf5_path``
  hdf5_path: str
      If ``hdf5_interactions is None``, the path to the HDF5 dataset
  batch_size: int
      Number of samples per batch to load
  shuffle: bool
      Whether to shuffle the order of batches returned or not. This is especially useful for
      training data to ensure the model does not overfit to a specific order of data. Note that
      this will not perform a true shuffle of the data, but shuffle the order of batches. While
      this is an approximation of true sampling, it allows us a greater speed up during model
      training for a negligible effect on model performance
  **kwargs: keyword arguments
      Relevant keyword arguments will be passed into ``HDF5Interactions`` object creation, if
      ``hdf5_interactions is None`` and the keyword argument matches one of
      ``HDF5Interactions.__init__.__code__.co_varnames``. All other keyword arguments will be
      passed into ``torch.utils.data.DataLoader``:
      https://pytorch.org/docs/stable/data.html#torch.utils.data.DataLoader
  
  Original ``torch.utils.data.DataLoader`` docstring as follows:
  ########
class_docstr_tok: ["A","light","wrapper","around","a","``","torch.utils.data.DataLoader","``","for","HDF5","data",",","with","behavior","very","similar","to","``","ApproximateNegativeSamplingInteractionsDataLoader","``",".","If","not","provided",",","a","``","HDF5Interactions","``","dataset","will","be","created","as","the","data","for","the","``","DataLoader","``",".","A","custom","sampler",",","``","HDF5Sampler","``",",","will","also","be","instantiated","for","the","``","DataLoader","``","to","use","that","allows","sampling","in","batches","that","make","for","faster","HDF5","data","reads","from","disk",".","While","similar","to","a","standard","``","DataLoader","``",",","note","that","when","``","shuffle","is","True","``",",","this","will","only","shuffle","the","order","of","batches","and","the","data","within","batches","to","still","make","for","efficient","reading","of","HDF5","data","from","disk",",","rather","than","shuffling","across","the","entire","dataset",".","For","greater","efficiency",",","we","disable","automated","batching","by","setting","the","DataLoader's","``","batch_size","``","attribute","to","``","None","``",".","Thus",",","to","access","the","``","true","''","batch","size","that","the","sampler","uses",",","access","``","HDF5InteractionsDataLoader.hdf5_sampler.batch_size","``",".","Parameters","--","--","--","--","--","hdf5_interactions",":","HDF5Interactions","If","provided",",","will","override","input","argument","for","``","hdf5_path","``","hdf5_path",":","str","If","``","hdf5_interactions","is","None","``",",","the","path","to","the","HDF5","dataset","batch_size",":","int","Number","of","samples","per","batch","to","load","shuffle",":","bool","Whether","to","shuffle","the","order","of","batches","returned","or","not",".","This","is","especially","useful","for","training","data","to","ensure","the","model","does","not","overfit","to","a","specific","order","of","data",".","Note","that","this","will","not","perform","a","true","shuffle","of","the","data",",","but","shuffle","the","order","of","batches",".","While","this","is","an","approximation","of","true","sampling",",","it","allows","us","a","greater","speed","up","during","model","training","for","a","negligible","effect","on","model","performance","*","*","kwargs",":","keyword","arguments","Relevant","keyword","arguments","will","be","passed","into","``","HDF5Interactions","``","object","creation",",","if","``","hdf5_interactions","is","None","``","and","the","keyword","argument","matches","one","of","``","HDF5Interactions.__init__.__code__.co_varnames","``",".","All","other","keyword","arguments","will","be","passed","into","``","torch.utils.data.DataLoader","``",":","https",":","\/\/pytorch.org\/docs\/stable\/data.html","#","torch.utils.data.DataLoader","Original","``","torch.utils.data.DataLoader","``","docstring","as","follows",":","#","#","#","#","#","#","#","#"]
docstr: ``mat`` attribute is not possible to access in ``HDF5InteractionsDataLoader``.
docstr_tok: ["``","mat","``","attribute","is","not","possible","to","access","in","``","HDF5InteractionsDataLoader","``","."]
code: def mat(self) -> None:
      """``mat`` attribute is not possible to access in ``HDF5InteractionsDataLoader``."""
      raise AttributeError(
          "``HDF5InteractionsDataLoader`` cannot support ``mat`` attribute since"
          " data is read in from disk dynamically."
      )
  
imports: import textwrap
  from typing import Iterable, Optional, Union
  import numpy
  from scipy.sparse import coo_matrix
  import torch
  from collie.interactions.datasets import BaseInteractions, ExplicitInteractions, HDF5Interactions, Interactions
  from collie.interactions.samplers import ApproximateNegativeSampler, HDF5Sampler
label_desc: Use image node_id 2 for calling the HDF5InteractionsDataLoader obj's underlying member method code with example usage: obj.mat() without return types