def get_args()

in community-content/tf_agents_bandits_movie_recommendation_with_kfp_and_vertex_sdk/step_by_step_sdk_tf_agents_bandits_movie_recommendation/src/training/task.py [0:0]


def get_args(raw_args: List[str]) -> argparse.Namespace:
  """Parses parameters and hyperparameters for training a policy.

  Args:
    raw_args: A list of command line arguments.

  Returns:
    An argpase.Namespace object mapping (hyper)parameter names to the parsed
    values.
  """
  parser = argparse.ArgumentParser()

  # Whether to execute hyperparameter tuning or training
  parser.add_argument(
      "--run-hyperparameter-tuning",
      action="store_true",
      help="Whether to perform hyperparameter tuning instead of regular" +
      " training.")

  # Whether to train using the best hyperparameters learned from a previous
  # hyperparameter tuning job.
  parser.add_argument(
      "--train-with-best-hyperparameters",
      action="store_true",
      help="Whether to train using the best hyperparameters learned from a" +
      " previous hyperparameter tuning job.")

  # Path parameters
  parser.add_argument(
      "--artifacts-dir",
      type=str,
      help="Extra directory where model artifacts are saved.")
  parser.add_argument(
      "--profiler-dir",
      default=None,
      type=str,
      help="Directory for TensorBoard Profiler artifacts.")
  parser.add_argument(
      "--data-path", type=str, help="Path to MovieLens 100K's 'u.data' file.")
  parser.add_argument(
      "--best-hyperparameters-bucket",
      type=str,
      help="Path to MovieLens 100K's 'u.data' file.")
  parser.add_argument(
      "--best-hyperparameters-path",
      type=str,
      help="Path to JSON file containing the best hyperparameters.")

  # Hyperparameters
  parser.add_argument(
      "--batch-size",
      default=8,
      type=int,
      help="Training and prediction batch size.")
  parser.add_argument(
      "--training-loops",
      default=4,
      type=int,
      help="Number of training iterations.")
  parser.add_argument(
      "--steps-per-loop",
      default=2,
      type=int,
      help="Number of driver steps per training iteration.")

  # MovieLens simulation environment parameters
  parser.add_argument(
      "--rank-k",
      default=20,
      type=int,
      help="Rank for matrix factorization in the MovieLens environment; also" +
      " the observation dimension.")
  parser.add_argument(
      "--num-actions",
      default=20,
      type=int,
      help="Number of actions (movie items) to choose from.")

  # LinUCB agent parameters
  parser.add_argument(
      "--tikhonov-weight",
      default=0.001,
      type=float,
      help="LinUCB Tikhonov regularization weight.")
  parser.add_argument(
      "--agent-alpha",
      default=10.0,
      type=float,
      help="LinUCB exploration parameter that multiplies the confidence" +
      " intervals.")

  return parser.parse_args(raw_args)