class_docstr: Subclass of argparse ArgumentParser which adds optional calls to sample from lists or ranges
  Also enables running optimizations across parallel processes
class_docstr_tok: ["Subclass","of","argparse","ArgumentParser","which","adds","optional","calls","to","sample","from","lists","or","ranges","Also","enables","running","optimizations","across","parallel","processes"]
code: def parse_args(self, args=None, namespace=None):
      # call superclass arg first
      results = self.__parse_args(args, namespace)
  
      # extract vals
      old_args = vars(results)
  
      # override with json args if given
      if (
          self.json_config_arg_name
          and old_args[self.json_config_arg_name]
      ):
          for arg, v in self.__read_json_config(
              old_args[self.json_config_arg_name]
          ).items():
              old_args[arg] = v
  
      # track args
      self.parsed_args = deepcopy(old_args)
      # attach optimization fx
      old_args["trials"] = self.opt_trials
      old_args["optimize_parallel"] = self.optimize_parallel
      old_args["optimize_parallel_gpu"] = self.optimize_parallel_gpu
      old_args["optimize_parallel_cpu"] = self.optimize_parallel_cpu
      old_args["generate_trials"] = self.generate_trials
      old_args[
          "optimize_trials_parallel_gpu"
      ] = self.optimize_trials_parallel_gpu
  
      return TTNamespace(**old_args)
  
imports: import argparse
  import json
  import math
  import os
  import random
  import re
  import traceback
  from argparse import ArgumentParser
  from copy import deepcopy
  from gettext import gettext
  from multiprocessing import Pool, Queue
  from time import sleep
  import numpy
  from .hyper_opt_utils import strategies
label_desc: Use image node_id 11 for calling the HyperOptArgumentParser obj's underlying member method code with example usage: obj.parse_args(args, namespace) and returns: TTNamespace