64 lines
1.7 KiB
Python
64 lines
1.7 KiB
Python
import argparse
|
|
import os
|
|
|
|
|
|
def parse_args() -> argparse.Namespace:
|
|
def dir_path(path):
|
|
if os.path.isdir(path):
|
|
return path
|
|
else:
|
|
raise argparse.ArgumentTypeError(f"readable_dir:{path} is not a valid path")
|
|
|
|
parser = argparse.ArgumentParser(
|
|
"probs", description="Calculating probability from finished bayesrun"
|
|
)
|
|
parser.add_argument(
|
|
"--log_file",
|
|
type=str,
|
|
help="A filename for logging to, if not provided will only log to stderr",
|
|
default=None,
|
|
)
|
|
parser.add_argument(
|
|
"--bayesrun-directory",
|
|
"-d",
|
|
type=dir_path,
|
|
help="The directory to search for bayesrun files, defaulting to cwd if not passed",
|
|
default=".",
|
|
)
|
|
parser.add_argument(
|
|
"--indexify-json",
|
|
help="A json file with the indexify config for parsing job indexes. Will skip if not present",
|
|
default="",
|
|
)
|
|
parser.add_argument(
|
|
"--seed-index",
|
|
type=int,
|
|
help='take an integer to append as a "seed" key with range at end of indexify dict. Skip if <= 0',
|
|
default=0,
|
|
)
|
|
parser.add_argument(
|
|
"--seed-fieldname",
|
|
type=str,
|
|
help='if --seed-index is set, the fieldname to append to the indexifier. "seed" by default',
|
|
default="seed",
|
|
)
|
|
parser.add_argument(
|
|
"--coalesced-keys",
|
|
type=str,
|
|
help="A comma separated list of strings over which to coalesce data. By default coalesce over all fields within model names, ignore file level names",
|
|
default="",
|
|
)
|
|
parser.add_argument(
|
|
"--uncoalesced-outfile",
|
|
type=str,
|
|
help="output filename for uncoalesced data. If not provided, will not be written",
|
|
default=None,
|
|
)
|
|
parser.add_argument(
|
|
"--coalesced-outfile",
|
|
type=str,
|
|
help="output filename for coalesced data. If not provided, will not be written",
|
|
default=None,
|
|
)
|
|
return parser.parse_args()
|