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)