code: def main():
      """main function"""
      parser = argparse.ArgumentParser()
      parser.add_argument("--datasetname")
      parser.add_argument("--alg_type")
      parser.add_argument("--total")
      parser.add_argument("--numiter")
      # double noise and newton
      parser.add_argument("--grad_frac")
      parser.add_argument("--trace_frac")
      parser.add_argument("--trace_coeff")
      args = parser.parse_args()
      datasetname = args.datasetname
      alg_type = args.alg_type
      total = float(args.total)
      num_iter = int(args.numiter)
      if alg_type == "double_noise":
          grad_frac = float(args.grad_frac)
          trace_frac = float(args.trace_frac)
          trace_coeff = float(args.trace_coeff)
          hyper_parameters = {
              "total": total,
              "grad_frac": grad_frac,
              "trace_frac": trace_frac,
              "trace_coeff": trace_coeff,
              "num_iteration": num_iter,
          }
      elif alg_type == "dp_gd":
          hyper_parameters = {"total": total, "num_iteration": num_iter}
      elif alg_type == "damped_newton":
          grad_frac = float(args.grad_frac)
          hyper_parameters = {
              "total": total,
              "num_iteration": num_iter,
              "grad_frac": grad_frac,
          }
      else:
          raise ValueError("no such optmization algorithm exists")
      print(
          "optimization algorithm "
          + alg_type
          + ","
          + "dataset name: "
          + datasetname
      )
      helper_fun(datasetname, alg_type, hyper_parameters)
  
file_path: privacy/research/dp_newton/src/run.py
imports: import argparse
  import json
  from dataset_loader import Mydatasets
  from my_logistic_regression import MyLogisticRegression
  import numpy
  from opt_algs import CompareAlgs, DoubleNoiseMech, gd_priv, private_newton
  from scipy.optimize import fsolve
label_desc: Use image node_id 5 for calling a global function with example usage: main() without return types