code: def __init__(
      self, in_channels: int, out_channels: int, bias: bool = True
  ):
      super().__init__(aggr="add")
      self.in_channels = in_channels
      self.out_channels = out_channels
  
      self.weight = Parameter(torch.empty(in_channels, out_channels))
      if bias:
          self.bias = Parameter(torch.empty(out_channels))
      else:
          self.register_parameter("bias", None)
  
      self.reset_parameters()
  
imports: import math
  import torch
  from torch import Tensor
  from torch.nn import BatchNorm1d, Parameter
  from torch_geometric.nn import inits
  from torch_geometric.nn.conv import MessagePassing
  from torch_geometric.nn.models import MLP
  from torch_geometric.typing import Adj, OptTensor
  from torch_geometric.utils import spmm
label_desc: Use image node_id 1 to create a new SparseLinear object from inherited base classes: MessagePassing with example: obj = SparseLinear(in_channels, out_channels, bias)