class_docstr: The data loader scheme from the `"Cluster-GCN: An Efficient Algorithm
  for Training Deep and Large Graph Convolutional Networks"
  <https://arxiv.org/abs/1905.07953>`_ paper which merges partioned subgraphs
  and their between-cluster links from a large-scale graph data object to
  form a mini-batch.
  
  .. note::
  
      Use :class:`~torch_geometric.loader.ClusterData` and
      :class:`~torch_geometric.loader.ClusterLoader` in conjunction to
      form mini-batches of clusters.
      For an example of using Cluster-GCN, see
      `examples/cluster_gcn_reddit.py <https://github.com/pyg-team/
      pytorch_geometric/blob/master/examples/cluster_gcn_reddit.py>`_ or
      `examples/cluster_gcn_ppi.py <https://github.com/pyg-team/
      pytorch_geometric/blob/master/examples/cluster_gcn_ppi.py>`_.
  
  Args:
      cluster_data (torch_geometric.loader.ClusterData): The already
          partioned data object.
      **kwargs (optional): Additional arguments of
          :class:`torch.utils.data.DataLoader`, such as :obj:`batch_size`,
          :obj:`shuffle`, :obj:`drop_last` or :obj:`num_workers`.
class_docstr_tok: ["The","data","loader","scheme","from","the","`","``","Cluster-GCN",":","An","Efficient","Algorithm","for","Training","Deep","and","Large","Graph","Convolutional","Networks","''","<","https",":","\/\/arxiv.org\/abs\/1905.07953",">","`","_","paper","which","merges","partioned","subgraphs","and","their","between-cluster","links","from","a","large-scale","graph","data","object","to","form","a","mini-batch",".","..","note",":",":","Use",":","class",":","`","~torch_geometric.loader.ClusterData","`","and",":","class",":","`","~torch_geometric.loader.ClusterLoader","`","in","conjunction","to","form","mini-batches","of","clusters",".","For","an","example","of","using","Cluster-GCN",",","see","`","examples\/cluster_gcn_reddit.py","<","https",":","\/\/github.com\/pyg-team\/","pytorch_geometric\/blob\/master\/examples\/cluster_gcn_reddit.py",">","`","_","or","`","examples\/cluster_gcn_ppi.py","<","https",":","\/\/github.com\/pyg-team\/","pytorch_geometric\/blob\/master\/examples\/cluster_gcn_ppi.py",">","`","_",".","Args",":","cluster_data","(","torch_geometric.loader.ClusterData",")",":","The","already","partioned","data","object",".","*","*","kwargs","(","optional",")",":","Additional","arguments","of",":","class",":","`","torch.utils.data.DataLoader","`",",","such","as",":","obj",":","`","batch_size","`",",",":","obj",":","`","shuffle","`",",",":","obj",":","`","drop_last","`","or",":","obj",":","`","num_workers","`","."]
code: def __init__(self, cluster_data, **kwargs):
      self.cluster_data = cluster_data
      iterator = range(len(cluster_data))
      super().__init__(iterator, collate_fn=self._collate, **kwargs)
  
imports: import copy
  import os.path
  import sys
  from dataclasses import dataclass
  from typing import List, Literal, Optional
  import torch
  import torch.utils.data
  from torch import Tensor
  import torch_geometric.typing
  from torch_geometric.data import Data
  from torch_geometric.typing import pyg_lib
  from torch_geometric.utils import index_sort, narrow, select, sort_edge_index
  from torch_geometric.utils.map import map_index
  from torch_geometric.utils.sparse import index2ptr, ptr2index
label_desc: Use image node_id 1 to create a new ClusterLoader object from inherited base classes: torch.utils.data with example: obj = ClusterLoader(cluster_data)