code: def train():
      model.train()
      optimizer.zero_grad()
      for batch in train_loader:
          batch.to(device)
          emb = model(batch)
          loss = F.nll_loss(
              emb[batch.node_label_index], batch.node_label
          )
          loss.backward()
          optimizer.step()
  
imports: import math
  import copy
  import torch
  import torch.nn.functional
  from torch_geometric.datasets import Planetoid
  import torch_geometric.transforms
  from torch_geometric.nn import SplineConv
  from torch_geometric.nn import GCNConv
  import sys
  import networkx
  import pdb
  import deepsnap
  from converter import *
  from deepsnap.dataset import GraphDataset
  from deepsnap.batch import Batch
  from torch.utils.data import DataLoader
label_desc: Use image node_id 1 for calling a global function with example usage: train() without return types