def add_bool_argument()

in benchmarks/horovod-resnet/train_imagenet_resnet_hvd.py [0:0]


def add_bool_argument(cmdline, shortname, longname=None, default=False, help=None):
    if longname is None:
        shortname, longname = None, shortname
    elif default == True:
        raise ValueError(
            """Boolean arguments that are True by default should not have short names."""
        )
    name = longname[2:]
    feature_parser = cmdline.add_mutually_exclusive_group(required=False)
    if shortname is not None:
        feature_parser.add_argument(
            shortname, "--" + name, dest=name, action="store_true", help=help, default=default
        )
    else:
        feature_parser.add_argument(
            "--" + name, dest=name, action="store_true", help=help, default=default
        )
    feature_parser.add_argument("--no" + name, dest=name, action="store_false")
    return cmdline