code: def arg_parse():
      parser = argparse.ArgumentParser(description="ACM.")
  
      parser.add_argument(
          "--device", type=str, help="CPU / GPU device."
      )
      parser.add_argument(
          "--epochs", type=int, help="Number of epochs to train."
      )
      parser.add_argument(
          "--hidden_size",
          type=int,
          help="GNN layer hidden dimension size.",
      )
      parser.add_argument("--lr", type=float, help="Learning rate.")
      parser.add_argument("--eps", type=float, help="Batchnorm eps.")
      parser.add_argument(
          "--attn_size", type=int, help="Attention size."
      )
      parser.add_argument(
          "--weight_decay", type=int, help="Weight decay."
      )
  
      parser.set_defaults(
          device="cuda:0",
          epochs=100,
          hidden_size=64,
          lr=0.003,
          eps=1.0,
          attn_size=32,
          weight_decay=1e-5,
      )
      return parser.parse_args()
  
imports: import copy
  import torch
  import argparse
  import deepsnap
  import numpy
  import torch.nn
  import torch.nn.functional
  import torch_geometric.nn
  from sklearn.metrics import f1_score
  from deepsnap.hetero_gnn import forward_op, HeteroSAGEConv
  from deepsnap.hetero_graph import HeteroGraph
  from torch_sparse import SparseTensor, matmul
label_desc: Use image node_id 1 for calling a global function with example usage: arg_parse() and returns: parser