code: def forward(self, x, last_update, edge_index, t, msg):
      rel_t = last_update[edge_index[0]] - t
      rel_t_enc = self.time_enc(rel_t.to(x.dtype))
      edge_attr = torch.cat([rel_t_enc, msg], dim=-1)
      return self.conv(x, edge_index, edge_attr)
  
file_path: pytorch_geometric/examples/tgn.py
imports: import os.path
  import torch
  from sklearn.metrics import average_precision_score, roc_auc_score
  from torch.nn import Linear
  from torch_geometric.datasets import JODIEDataset
  from torch_geometric.loader import TemporalDataLoader
  from torch_geometric.nn import TGNMemory, TransformerConv
  from torch_geometric.nn.models.tgn import IdentityMessage, LastAggregator, LastNeighborLoader
label_desc: Use image node_id 2 for calling the GraphAttentionEmbedding obj's underlying member method code with example usage: obj.forward(x, last_update, edge_index, t, msg) and returns: self