in assets/responsibleai/vision/components/src/rai_vision_insights.py [0:0]
def parse_args():
# setup arg parser
parser = argparse.ArgumentParser()
# add arguments
parser.add_argument(
"--task_type", type=str, required=True,
choices=[TaskType.IMAGE_CLASSIFICATION,
TaskType.MULTILABEL_IMAGE_CLASSIFICATION,
TaskType.OBJECT_DETECTION]
)
parser.add_argument(
"--model_input", type=str, help="model local path on remote",
required=True
)
parser.add_argument(
"--model_info", type=str, help="name:version", required=True
)
parser.add_argument("--test_dataset", type=str, required=True)
parser.add_argument(
"--dataset_type", type=str, required=False,
default=DatasetStoreType.PUBLIC,
choices=[DatasetStoreType.PRIVATE, DatasetStoreType.PUBLIC],
help="Whether it is dataset from private datastore"
"or from public url"
)
parser.add_argument("--target_column_name", type=str, required=True)
parser.add_argument(
"--maximum_rows_for_test_dataset", type=int,
default=5000
)
parser.add_argument("--classes", type=str, help="Optional[List[str]]")
parser.add_argument("--categorical_metadata_features", type=str,
help="Optional[List[str]]")
parser.add_argument("--dropped_metadata_features", type=str,
help="Optional[List[str]]")
# Explanations
parser.add_argument("--precompute_explanation", type=boolean_parser)
# Error analysis
parser.add_argument("--enable_error_analysis", type=boolean_parser)
parser.add_argument("--use_model_dependency", type=boolean_parser,
help="Use model dependency")
parser.add_argument("--use_conda", type=boolean_parser,
help="Use conda instead of pip")
parser.add_argument(
"--model_type", type=str, required=True,
choices=[ModelType.PYFUNC, ModelType.FASTAI, ModelType.PYTORCH]
)
# XAI args
parser.add_argument(
_make_arg(ExplainabilityLiterals.XAI_ALGORITHM),
type=str,
required=False,
choices=[
ExplainabilityLiterals.SHAP_METHOD_NAME,
ExplainabilityLiterals.GUIDEDBACKPROP_METHOD_NAME,
ExplainabilityLiterals.GUIDEDGRADCAM_METHOD_NAME,
ExplainabilityLiterals.INTEGRATEDGRADIENTS_METHOD_NAME,
ExplainabilityLiterals.XRAI_METHOD_NAME,
],
)
parser.add_argument(
_make_arg(ExplainabilityLiterals.N_STEPS),
type=int, required=False,
)
parser.add_argument(
_make_arg(ExplainabilityLiterals.APPROXIMATION_METHOD),
type=str,
required=False,
choices=["gausslegendre", "riemann_middle"]
)
parser.add_argument(
"--xrai_fast",
type=bool, required=False,
)
parser.add_argument(
_make_arg(
ExplainabilityLiterals.CONFIDENCE_SCORE_THRESHOLD_MULTILABEL
),
type=float, required=False,
)
parser.add_argument("--image_width_in_inches", type=float,
required=False, help="Image width in inches")
parser.add_argument("--max_evals", type=int, required=False,
help="Maximum number of evaluations for shap")
parser.add_argument("--num_masks", type=int, required=False,
help="Number of masks for DRISE")
parser.add_argument("--mask_res", type=int, required=False,
help="Mask resolution for DRISE")
parser.add_argument(
"--device", type=int, help=(
"Device for CPU/GPU supports. Setting this to -1 will leverage "
"CPU, >=0 will run the model on the associated CUDA device id.")
)
# Component info
parser.add_argument("--component_name", type=str, required=True)
parser.add_argument("--component_version", type=str, required=True)
# Outputs
parser.add_argument("--dashboard", type=str, required=True)
parser.add_argument("--ux_json", type=str, required=True)
# parse args
args = parser.parse_args()
# return args
return args