[docs]classGraphDataLoader(torch.utils.data.DataLoader):r""" A helper class for merging :class:`~graph_pes.AtomicGraph` objects into a single batch, represented as another :class:`~graph_pes.AtomicGraph` containing disjoint subgraphs per structure (see :func:`~graph_pes.atomic_graph.to_batch`). Parameters ---------- dataset: GraphDataset | Sequence[AtomicGraph] The dataset to load. batch_size The batch size. shuffle Whether to shuffle the dataset. **kwargs: Additional keyword arguments to pass to the underlying :class:`torch.utils.data.DataLoader`. """def__init__(self,dataset:GraphDataset|Sequence[AtomicGraph],batch_size:int=1,shuffle:bool=False,**kwargs,):ifnotisinstance(dataset,GraphDataset):dataset=GraphDataset(dataset)if"collate_fn"inkwargs:warnings.warn("graph-pes uses a custom collate_fn (`collate_atomic_graphs`), ""are you sure you want to override this?",stacklevel=2,)collate_fn=kwargs.pop("collate_fn",to_batch)super().__init__(dataset,batch_size,shuffle,collate_fn=collate_fn,**kwargs,)def__iter__(self)->Iterator[AtomicGraph]:# type: ignorereturnsuper().__iter__()