LogSAD / anomalib /cli /utils /openvino.py
zhiqing0205
Add core libraries: anomalib, dinov2, open_clip_local
3de7bf6
raw
history blame
1.11 kB
"""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.")