class_docstr: The output of the :class:`Connect` method, which holds the coarsened
  graph structure, and optional pooled edge features and batch vectors.
  
  Args:
      edge_index (torch.Tensor): The edge indices of the cooarsened graph.
      edge_attr (torch.Tensor, optional): The pooled edge features of the
          coarsened graph. (default: :obj:`None`)
      batch (torch.Tensor, optional): The pooled batch vector of the
          coarsened graph. (default: :obj:`None`)
class_docstr_tok: ["The","output","of","the",":","class",":","`","Connect","`","method",",","which","holds","the","coarsened","graph","structure",",","and","optional","pooled","edge","features","and","batch","vectors",".","Args",":","edge_index","(","torch.Tensor",")",":","The","edge","indices","of","the","cooarsened","graph",".","edge_attr","(","torch.Tensor",",","optional",")",":","The","pooled","edge","features","of","the","coarsened","graph",".","(","default",":",":","obj",":","`","None","`",")","batch","(","torch.Tensor",",","optional",")",":","The","pooled","batch","vector","of","the","coarsened","graph",".","(","default",":",":","obj",":","`","None","`",")"]
code: def __init__(
      self,
      edge_index: Tensor,
      edge_attr: Optional[Tensor] = None,
      batch: Optional[Tensor] = None,
  ):
      if edge_index.dim() != 2:
          raise ValueError(
              f"Expected 'edge_index' to be two-dimensional "
              f"(got {edge_index.dim()} dimensions)"
          )
  
      if edge_index.size(0) != 2:
          raise ValueError(
              f"Expected 'edge_index' to have size '2' in the "
              f"first dimension (got '{edge_index.size(0)}')"
          )
  
      if edge_attr is not None and edge_attr.size(0) != edge_index.size(
          1
      ):
          raise ValueError(
              f"Expected 'edge_index' and 'edge_attr' to "
              f"hold the same number of edges (got "
              f"{edge_index.size(1)} and {edge_attr.size(0)} "
              f"edges)"
          )
  
      self.edge_index = edge_index
      self.edge_attr = edge_attr
      self.batch = batch
  
file_path: pytorch_geometric/torch_geometric/nn/pool/connect/base.py
imports: from dataclasses import dataclass
  from typing import Optional
  import torch
  from torch import Tensor
  import torch_geometric.typing
  from torch_geometric.nn.pool.select import SelectOutput
label_desc: Use image node_id 1 to create a new ConnectOutput object  with example: obj = ConnectOutput(edge_index, edge_attr, batch)