File size: 1,113 Bytes
3de7bf6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
"""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.")