code: def main():
      (
          H,
          X,
          Y,
          num_classes,
          train_mask,
          val_mask,
          test_mask,
      ) = load_data()
      model = HGNN(H, X.shape[1], num_classes)
      optimizer = torch.optim.Adam(model.parameters(), lr=0.001)
  
      with tqdm.trange(500) as tq:
          for epoch in tq:
              train(model, optimizer, X, Y, train_mask)
              val_acc, test_acc = evaluate(
                  model, X, Y, val_mask, test_mask, num_classes
              )
              tq.set_postfix(
                  {
                      "Val acc": f"{val_acc:.5f}",
                      "Test acc": f"{test_acc:.5f}",
                  },
                  refresh=False,
              )
  
      print(f"Test acc: {test_acc:.3f}")
  
file_path: dgl/examples/sparse/hgnn.py
imports: import dgl.sparse
  import torch
  import torch.nn
  import torch.nn.functional
  import tqdm
  from dgl.data import CoraGraphDataset
  from torchmetrics.functional import accuracy
label_desc: Use image node_id 4 for calling a global function with example usage: main() without return types