code: def main(args, store=None):
      """Given arguments from `setup_args` and a store from `setup_store`,
      trains as a model. Check out the argparse object in this file for
      argument options.
      """
      # MAKE DATASET AND LOADERS
      data_path = os.path.expandvars(args.data)
      dataset = DATASETS[args.dataset](data_path)
  
      train_loader, val_loader = dataset.make_loaders(
          args.workers, args.batch_size, data_aug=bool(args.data_aug)
      )
  
      train_loader = helpers.DataPrefetcher(train_loader)
      val_loader = helpers.DataPrefetcher(val_loader)
      loaders = (train_loader, val_loader)
  
      # MAKE MODEL
      model, checkpoint = make_and_restore_model(
          arch=args.arch, dataset=dataset, resume_path=args.resume
      )
      if "module" in dir(model):
          model = model.module
  
      print(args)
      if args.eval_only:
          return eval_model(args, model, val_loader, store=store)
  
      if not args.resume_optimizer:
          checkpoint = None
      model = train_model(
          args, model, loaders, store=store, checkpoint=checkpoint
      )
      return model
  
file_path: robustness/robustness/main.py
imports: from argparse import ArgumentParser
  import os
  import git
  import torch
  import cox
  import cox.utils
  import cox.store
label_desc: Use image node_id 1 for calling a global function with example usage: main(args, store) and returns: model, eval_model