code: def forward(
      ctx: Any,
      inputs: Tensor,
      edge_label_index: Tensor,
      edge_label_weight: Optional[Tensor],
  ) -> Tensor:
      assert inputs.dim() == 2
  
      logsumexp = inputs.logsumexp(dim=-1)
      ctx.save_for_backward(
          inputs, edge_label_index, edge_label_weight, logsumexp
      )
  
      out = inputs[edge_label_index[0], edge_label_index[1]]
      out.neg_().add_(logsumexp[edge_label_index[0]])
      if edge_label_weight is not None:
          out *= edge_label_weight
  
      return out.sum() / inputs.size(0)
  
file_path: pytorch_geometric/torch_geometric/utils/cross_entropy.py
imports: from typing import Any, Optional, Tuple
  import torch
  from torch import Tensor
  from torch_geometric.utils import scatter
label_desc: Use image node_id 1 for calling the SparseCrossEntropy obj's underlying member method code with example usage: obj.forward(ctx, inputs, edge_label_index, edge_label_weight) and returns: unknown