def make_repo_from_parser()

in neural/__main__.py [0:0]


def make_repo_from_parser(args, parser):
    args.out.mkdir(exist_ok=True)

    parts = []
    name_args = dict(args.__dict__)
    ignore = ["restart", "data", "out"]
    for key in ignore:
        name_args.pop(key, None)
    for name, value in name_args.items():
        if value != parser.get_default(name):
            if isinstance(value, Path):
                value = value.name
            elif isinstance(value, list):
                value = ",".join(map(str, value))
            parts.append(f"{name}={value}")
    if parts:
        name = " ".join(parts)
    else:
        name = "default"
    print(f"Experiment {name}")

    if args.pca is not None:
        suffix = f"{args.pca}"
    else:
        suffix = "full"

    # args.data = args.data.with_name(args.data.name + suffix)
    args.data = args.data / Path(suffix)
    print("Using dataset", args.data)

    out = args.out / name
    if args.restart and out.exists():
        shutil.rmtree(out)
    out.mkdir(exist_ok=True)

    return out