def structured_args_dict()

in get_training_params.py [0:0]


def structured_args_dict(args, base_config):
    sa_dict = gen_args_dict(args)

    if args.width_factors_list is not None and args.method == "ns":
        builder_kwargs = base_config["parameters"]["builder_kwargs"]
        builder_kwargs["width_factors_list"] = args.width_factors_list
        sa_dict["builder_kwargs"] = builder_kwargs

    if args.width_factor_limits is not None and args.method != "ns":
        regime_params = base_config["parameters"]["regime_params"]
        regime_params["width_factor_limits"] = args.width_factor_limits
        sa_dict["regime_params"] = regime_params

    if args.width_factor_samples is not None and args.method != "ns":
        regime_params = sa_dict.get(
            "regime_params", base_config["parameters"]["regime_params"]
        )
        regime_params["width_factor_samples"] = args.width_factor_samples
        sa_dict["regime_params"] = regime_params

    if args.eval_width_factors is not None:
        regime_params = sa_dict.get(
            "regime_params", base_config["parameters"]["regime_params"]
        )
        if args.method in ("us", "ns", "lcs_p"):
            regime_params["eval_width_factors"] = args.eval_width_factors
            sa_dict["regime_params"] = regime_params
            sa_dict["eval_param_grid"] = args.eval_width_factors
        elif args.method == "lcs_l":
            w_l, w_u = regime_params["width_factor_limits"]
            alpha_grid = [
                (w_f - w_l) / (w_u - w_l) for w_f in args.eval_width_factors
            ]
            sa_dict["alpha_grid"] = alpha_grid

    return sa_dict