def parse_arguments()

in mobile_cv/model_zoo/tools/create_model.py [0:0]


def parse_arguments(input_args):
    parser = argparse.ArgumentParser(description="Create a model from model zoo")
    parser.add_argument(
        "--builder", type=str, default="fbnet_v2", help="model builder name"
    )
    parser.add_argument(
        "--arch_name",
        type=str,
        default=None,
        help="model builder argument arch_name, empty to not use",
    )
    parser.add_argument(
        "--arch_args",
        type=str,
        default=None,
        help="Additional arguments as a str of dict",
    )
    parser.add_argument(
        "--data_shape",
        type=str,
        default="[[1, 3, 224, 224]]",
        help="Shape of input data as a list of list",
    )
    parser.add_argument("--output_dir", type=str, help="Output dir", default="output")
    parser.add_argument(
        "--fuse_bn", type=int, default=1, help="Fuse bn in the model if 1"
    )
    parser.add_argument(
        "--use_get_traceable",
        type=int,
        default=0,
        help="Use get_traceable() to convert the model before trace if 1",
    )
    parser.add_argument("--int8_backend", type=str, default=None, help="int8 backend")
    parser.add_argument(
        "--self_contained",
        type=int,
        default=0,
        help="Create self-contained model as well if 1",
    )
    parser.add_argument(
        "--convert_int8",
        type=int,
        default=1,
        help="convert to int8 if 1",
    )
    parser.add_argument(
        "--print_per_layer_flops",
        type=int,
        default=1,
        help="Print per layer flops if 1",
    )
    ret = parser.parse_args(input_args)
    ret.output_dir = os.path.abspath(ret.output_dir)
    if ret.arch_args is not None:
        ret.arch_args = json.loads(ret.arch_args)
    if ret.data_shape is not None:
        ret.data_shape = json.loads(ret.data_shape)
    return ret