"""Utils for OpenVINO parser.""" # Copyright (C) 2023 Intel Corporation # SPDX-License-Identifier: Apache-2.0 import logging from jsonargparse import ArgumentParser from anomalib.utils.exceptions import try_import logger = logging.getLogger(__name__) if try_import("openvino"): from openvino.tools.ovc.cli_parser import get_common_cli_parser else: get_common_cli_parser = None def add_openvino_export_arguments(parser: ArgumentParser) -> None: """Add OpenVINO arguments to parser under --mo key.""" if get_common_cli_parser is not None: group = parser.add_argument_group("OpenVINO Model Optimizer arguments (optional)") ov_parser = get_common_cli_parser() # remove redundant keys from mo keys for arg in ov_parser._actions: # noqa: SLF001 if arg.dest in ("help", "input_model", "output_dir"): continue group.add_argument(f"--ov_args.{arg.dest}", type=arg.type, default=arg.default, help=arg.help) else: logger.info("OpenVINO is possibly not installed in the environment. Skipping adding it to parser.")