code: def parse_args():
      parser = argparse.ArgumentParser(
          description="A script trains and tests a GraphSAGE model "
          "for node classification using GraphBolt dataloader."
      )
      parser.add_argument(
          "--epochs",
          type=int,
          default=10,
          help="Number of training epochs.",
      )
      parser.add_argument(
          "--lr",
          type=float,
          default=0.0005,
          help="Learning rate for optimization.",
      )
      parser.add_argument(
          "--batch-size",
          type=int,
          default=1024,
          help="Batch size for training.",
      )
      parser.add_argument(
          "--num-workers",
          type=int,
          default=0,
          help="Number of workers for data loading.",
      )
      parser.add_argument(
          "--fanout",
          type=str,
          default="10,10,10",
          help="Fan-out of neighbor sampling. It is IMPORTANT to keep len(fanout)"
          " identical with the number of layers in your model. Default: 10,10,10",
      )
      parser.add_argument(
          "--mode",
          default="pinned-cuda",
          choices=["cpu-cpu", "cpu-cuda", "pinned-cuda", "cuda-cuda"],
          help="Dataset storage placement and Train device: 'cpu' for CPU and RAM,"
          " 'pinned' for pinned memory in RAM, 'cuda' for GPU and GPU memory.",
      )
      return parser.parse_args()
  
imports: import argparse
  import time
  import dgl.graphbolt
  import dgl.nn
  import torch
  import torch.nn
  import torch.nn.functional
  import torchmetrics.functional
  from tqdm import tqdm
label_desc: Use image node_id 5 for calling a global function with example usage: parse_args() and returns: parser