code: def train(model, x_dict, adj_t_dict, y_true, train_idx, optimizer):
      model.train()
  
      optimizer.zero_grad()
      out = model(x_dict, adj_t_dict)["paper"].log_softmax(dim=-1)
      loss = F.nll_loss(out[train_idx], y_true[train_idx].squeeze())
      loss.backward()
      optimizer.step()
  
      return loss.item()
  
imports: import copy
  import argparse
  import torch
  import torch.nn.functional
  from torch.nn import Parameter, ModuleDict, ModuleList, Linear, ParameterDict
  from torch_sparse import SparseTensor
  from ogb.nodeproppred import PygNodePropPredDataset, Evaluator
  from logger import Logger
label_desc: Use image node_id 1 for calling a global function with example usage: train(model, x_dict, adj_t_dict, y_true, train_idx, optimizer) and returns: loss