code: def forward(self, x: Tensor, node_tag: Tensor) -> Tensor:
      """"""
      out = x.new_empty(x.size(0), self.out_channels)
      for i, lin in enumerate(self.lins):
          mask = node_tag == i
          out[mask] = lin(x[mask], None)
      return out
  
imports: from torch_cluster import radius_graph
  from torch_geometric.nn import GraphConv, GraphNorm
  from torch_geometric.nn import inits
  from torch_scatter import scatter, scatter_min
  from torch.nn import Embedding
  import torch
  from torch import nn
  from torch import Tensor
  import torch.nn.functional
  import math
  from math import sqrt
label_desc: Use image node_id 3 for calling the HeteroLinear obj's underlying member method code with example usage: obj.forward(x, node_tag) and returns: out