in src/envs/ode.py [0:0]
def register_args(parser):
"""
Register environment parameters.
"""
parser.add_argument(
"--max_int", type=int, default=10, help="Maximum integer value"
)
parser.add_argument(
"--precision", type=int, default=3, help="Float numbers precision"
)
parser.add_argument(
"--jacobian_precision",
type=int,
default=1,
help="Float numbers precision in the Jacobian",
)
parser.add_argument(
"--positive",
type=bool_flag,
default=False,
help="Do not sample negative numbers",
)
parser.add_argument(
"--nonnull", type=bool_flag, default=True, help="Do not sample zeros"
)
parser.add_argument(
"--predict_jacobian",
type=bool_flag,
default=False,
help="Predict the Jacobian matrix",
)
parser.add_argument(
"--predict_gramian",
type=bool_flag,
default=False,
help="Predict the Gramian matrix",
)
parser.add_argument(
"--qualitative",
type=bool_flag,
default=False,
help="Binary output: system is stable or controllable",
)
parser.add_argument(
"--allow_complex",
type=bool_flag,
default=False,
help="Allow complex values in A and B",
)
parser.add_argument(
"--reversed_eval",
type=bool_flag,
default=False,
help="Validation set is dim whereas train set is test control",
)
parser.add_argument(
"--euclidian_metric",
type=bool_flag,
default=False,
help="Simple metric for gramian comparison",
)
parser.add_argument(
"--auxiliary_task",
type=bool_flag,
default=False,
help="Gramian as auxiliary task",
)
parser.add_argument(
"--tau", type=int, default=0, help="if > 0 time span for controllability"
)
parser.add_argument(
"--gramian_norm1",
type=bool_flag,
default=False,
help="Use norm1 as Euclidian distance for Gramian",
)
parser.add_argument(
"--gramian_tolerance",
type=float,
default=0.1,
help="Tolerance level for Gramian euclidian distance",
)
parser.add_argument(
"--predict_bounds",
type=bool_flag,
default=True,
help="Predict bounds for Fourier with initial conditions",
)
parser.add_argument(
"--prob_int",
type=float,
default=0.3,
help="Probability of int vs variables",
)
parser.add_argument(
"--min_degree",
type=int,
default=2,
help="Minimum degree of ode / nb of variables",
)
parser.add_argument(
"--max_degree",
type=int,
default=6,
help="Maximum degree of ode / nb of variables",
)
parser.add_argument(
"--min_expr_len_factor_cspeed",
type=int,
default=0,
help="In cspeed, min nr of operators in system eqs: 3+k degree",
)
parser.add_argument(
"--max_expr_len_factor_cspeed",
type=int,
default=2,
help="In cspeed, min nr of operators in system eqs: 3+k degree",
)
parser.add_argument(
"--custom_unary_probs",
type=bool_flag,
default=False,
help="Lyapunov function is a polynomial",
)
parser.add_argument(
"--prob_trigs",
type=float,
default=0.333,
help="Probability of trig operators",
)
parser.add_argument(
"--prob_arc_trigs",
type=float,
default=0.333,
help="Probability of inverse trig operators",
)
parser.add_argument(
"--prob_logs",
type=float,
default=0.222,
help="Probability of logarithm and exponential operators",
)
parser.add_argument(
"--eval_value",
type=float,
default=0.0,
help="Evaluation point for all variables",
)
parser.add_argument(
"--skip_zero_gradient",
type=bool_flag,
default=False,
help="No gradient can be zero at evaluation point",
)
parser.add_argument(
"--prob_positive",
type=float,
default=-1.0,
help=(
"Proportion of positive convergence speed "
"(for all degrees, -1.0 = no control)"
),
)
parser.add_argument(
"--eval_size",
type=int,
default=10000,
help="Size and valid and test sample",
)