Skip to content

Commit

Permalink
[MO] Remove IR frontend from available frontend list in MO (openvinot…
Browse files Browse the repository at this point in the history
…oolkit#10798)

* [MO] Remove IR frontend from available frontend list in MO

Signed-off-by: Roman Kazantsev <[email protected]>

* Fix issue - forget to pass FEM

Signed-off-by: Roman Kazantsev <[email protected]>

* Fix issue for TF with new FE and default legacy

Signed-off-by: Roman Kazantsev <[email protected]>
  • Loading branch information
rkazants authored Mar 4, 2022
1 parent 3b24ed0 commit 0c20e7a
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 4 deletions.
10 changes: 7 additions & 3 deletions tools/mo/openvino/tools/mo/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
from openvino.tools.mo.pipeline.unified import unified_pipeline
from openvino.tools.mo.utils import import_extensions
from openvino.tools.mo.utils.cli_parser import check_available_transforms, \
get_advanced_cli_options, get_caffe_cli_options, \
get_advanced_cli_options, get_available_front_ends, get_caffe_cli_options, \
get_common_cli_options, get_freeze_placeholder_values, get_kaldi_cli_options, get_layout_values, \
get_mean_scale_dictionary, get_meta_info, get_model_name, get_mxnet_cli_options, get_onnx_cli_options, \
get_placeholder_shapes, get_tf_cli_options, get_tuple_values, parse_transform, parse_tuple_pairs
Expand Down Expand Up @@ -120,7 +120,7 @@ def get_moc_frontends(argv: argparse.Namespace):
if not fem or use_legacy_frontend:
return None, []

available_moc_front_ends = fem.get_available_front_ends()
available_moc_front_ends = get_available_front_ends(fem)

if not argv.framework and argv.input_model:
moc_front_end = fem.load_by_model(argv.input_model)
Expand All @@ -135,7 +135,11 @@ def get_moc_frontends(argv: argparse.Namespace):
default_frontends = get_default_frontends()
# Disable MOC frontend if default is set to legacy and no user override
if default_frontends.get(moc_front_end.get_name()) == 'legacy' and not use_new_frontend:
moc_front_end = None
return None, available_moc_front_ends

# This check as a workaround to skip IR frontend
if not moc_front_end.get_name() in available_moc_front_ends:
return None, available_moc_front_ends

return moc_front_end, available_moc_front_ends

Expand Down
13 changes: 12 additions & 1 deletion tools/mo/openvino/tools/mo/utils/cli_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -775,7 +775,7 @@ def get_all_cli_parser(frontEndManager=None):
parser = argparse.ArgumentParser(usage='%(prog)s [options]')

frameworks = list(set(['tf', 'caffe', 'mxnet', 'kaldi', 'onnx'] +
(frontEndManager.get_available_front_ends() if frontEndManager else [])))
(get_available_front_ends(frontEndManager) if frontEndManager else [])))

parser.add_argument('--framework',
help='Name of the framework used to train the input model.',
Expand Down Expand Up @@ -1620,3 +1620,14 @@ def get_meta_info(argv: argparse.Namespace):
if key in meta_data:
meta_data[key] = ','.join([os.path.join('DIR', os.path.split(i)[1]) for i in meta_data[key].split(',')])
return meta_data


def get_available_front_ends(fem=None):
# Use this function as workaround to avoid IR frontend usage by MO
if fem is None:
return []
available_moc_front_ends = fem.get_available_front_ends()
if 'ir' in available_moc_front_ends:
available_moc_front_ends.remove('ir')

return available_moc_front_ends

0 comments on commit 0c20e7a

Please sign in to comment.