class_docstr: The Heterogeneous Graph Transformer (HGT) operator from the
  `"Heterogeneous Graph Transformer" <https://arxiv.org/abs/2003.01332>`_
  paper.
  
  .. note::
  
      For an example of using HGT, see `examples/hetero/hgt_dblp.py
      <https://github.com/pyg-team/pytorch_geometric/blob/master/examples/
      hetero/hgt_dblp.py>`_.
  
  Args:
      in_channels (int or Dict[str, int]): Size of each input sample of every
          node type, or :obj:`-1` to derive the size from the first input(s)
          to the forward method.
      out_channels (int): Size of each output sample.
      metadata (Tuple[List[str], List[Tuple[str, str, str]]]): The metadata
          of the heterogeneous graph, *i.e.* its node and edge types given
          by a list of strings and a list of string triplets, respectively.
          See :meth:`torch_geometric.data.HeteroData.metadata` for more
          information.
      heads (int, optional): Number of multi-head-attentions.
          (default: :obj:`1`)
      **kwargs (optional): Additional arguments of
          :class:`torch_geometric.nn.conv.MessagePassing`.
class_docstr_tok: ["The","Heterogeneous","Graph","Transformer","(","HGT",")","operator","from","the","`","``","Heterogeneous","Graph","Transformer","''","<","https",":","\/\/arxiv.org\/abs\/2003.01332",">","`","_","paper",".","..","note",":",":","For","an","example","of","using","HGT",",","see","`","examples\/hetero\/hgt_dblp.py","<","https",":","\/\/github.com\/pyg-team\/pytorch_geometric\/blob\/master\/examples\/","hetero\/hgt_dblp.py",">","`","_",".","Args",":","in_channels","(","int","or","Dict","[","str",",","int","]",")",":","Size","of","each","input","sample","of","every","node","type",",","or",":","obj",":","`","-1","`","to","derive","the","size","from","the","first","input","(","s",")","to","the","forward","method",".","out_channels","(","int",")",":","Size","of","each","output","sample",".","metadata","(","Tuple","[","List","[","str","]",",","List","[","Tuple","[","str",",","str",",","str","]","]","]",")",":","The","metadata","of","the","heterogeneous","graph",",","*","i.e",".","*","its","node","and","edge","types","given","by","a","list","of","strings","and","a","list","of","string","triplets",",","respectively",".","See",":","meth",":","`","torch_geometric.data.HeteroData.metadata","`","for","more","information",".","heads","(","int",",","optional",")",":","Number","of","multi-head-attentions",".","(","default",":",":","obj",":","`","1","`",")","*","*","kwargs","(","optional",")",":","Additional","arguments","of",":","class",":","`","torch_geometric.nn.conv.MessagePassing","`","."]
code: def __repr__(self) -> str:
      return (
          f"{self.__class__.__name__}(-1, {self.out_channels}, "
          f"heads={self.heads})"
      )
  
imports: import math
  from typing import Dict, List, Optional, Tuple, Union
  import torch
  from torch import Tensor
  from torch.nn import Parameter
  from torch_geometric.nn.conv import MessagePassing
  from torch_geometric.nn.dense import HeteroDictLinear, HeteroLinear
  from torch_geometric.nn.inits import ones
  from torch_geometric.nn.parameter_dict import ParameterDict
  from torch_geometric.typing import Adj, EdgeType, Metadata, NodeType
  from torch_geometric.utils import softmax
  from torch_geometric.utils.hetero import construct_bipartite_edge_index
label_desc: Use image node_id 7 for calling the HGTConv obj's underlying member method code with example usage: obj.__repr__() and returns: self, str, self, str, self, str