无法将VGG-16转换为IR

问题描述 投票:0回答:1

我有.pb格式的vgg16截断版。我无法使用OpenVino模型优化器转换为IR,得到以下错误。

[ ANALYSIS INFO ] 看起来有IteratorGetNext作为输入,运行模型优化器。 --input "IteratorGetNext:0[-1 224 224 3]"并将所有负值替换为正值[ ERROR ] 在运行替换器 "REPLACEMENT_ID"()时发生异常。执行 "REPLACEMENT_ID"()后,图形包含0个节点。这被认为是一个错误,因为生成的IR将是空的,这是不正常的。

python3 /opt/intel/openvino_2020.3.194/deployment_tools/model_optimizer/mo_tf.py --input_model model.pb

With *.meta

python3 /opt/intel/openvino_2020.3.194/deployment_tools/model_optimizer/mo_tf.py --input_meta_graph model.meta --log_level DEBUG


[ 2020-06-11 10:59:34,182 ] [ DEBUG ] [ main:213 ]  Placeholder shapes : None
'extensions.back.ScalarConstNormalize.RangeInputNormalize'>
|  310 |  True   | <class 'extensions.back.AvgPool.AvgPool'>
|  311 |  True   | <class 'extensions.back.ReverseInputChannels.ApplyReverseChannels'>
|  312 |  True   | <class 'extensions.back.split_normalizer.SplitNormalizer'>
|  313 |  True   | <class 'extensions.back.ParameterToPlaceholder.ParameterToInput'>
|  314 |  True   | <class 'extensions.back.GroupedConvWeightsNormalize.GroupedConvWeightsNormalize'>
|  315 |  True   | <class 'extensions.back.ConvolutionNormalizer.DeconvolutionNormalizer'>
|  316 |  True   | <class 'extensions.back.StridedSliceMasksNormalizer.StridedSliceMasksNormalizer'>
|  317 |  True   | <class 'extensions.back.ConvolutionNormalizer.ConvolutionWithGroupsResolver'>
|  318 |  True   | <class 'extensions.back.ReshapeMutation.ReshapeMutation'>
|  319 |  True   | <class 'extensions.back.ForceStrictPrecision.ForceStrictPrecision'>
|  320 |  True   | <class 'extensions.back.I64ToI32.I64ToI32'>
|  321 |  True   | <class 'extensions.back.ReshapeMutation.DisableReshapeMutationInTensorIterator'>
|  322 |  True   | <class 'extensions.back.ActivationsNormalizer.ActivationsNormalizer'>
|  323 |  True   | <class 'extensions.back.pass_separator.BackFinish'>
|  324 |  False  | <class 'extensions.back.SpecialNodesFinalization.RemoveConstOps'>
|  325 |  False  | <class 'extensions.back.SpecialNodesFinalization.CreateConstNodesReplacement'>
|  326 |  True   | <class 'extensions.back.kaldi_remove_memory_output.KaldiRemoveMemoryOutputBackReplacementPattern'>
|  327 |  False  | <class 'extensions.back.SpecialNodesFinalization.RemoveOutputOps'>
|  328 |  True   | <class 'extensions.back.blob_normalizer.BlobNormalizer'>
|  329 |  False  | <class 'extensions.middle.MulFakeQuantizeFuse.MulFakeQuantizeFuse'>
|  330 |  False  | <class 'extensions.middle.AddFakeQuantizeFuse.AddFakeQuantizeFuse'>
[ 2020-06-11 10:59:34,900 ] [ DEBUG ] [ class_registration:282 ]  Run replacer <class 'extensions.load.tf.loader.TFLoader'>
[ INFO ]  Restoring parameters from %s
[ WARNING ]  From %s: %s (from %s) is deprecated and will be removed %s.
Instructions for updating:
%s
[ WARNING ]  From %s: %s (from %s) is deprecated and will be removed %s.
Instructions for updating:
%s
[ FRAMEWORK ERROR ]  Cannot load input model: Attempting to use uninitialized value metrics/accuracy/total
     [[{{node _retval_metrics/accuracy/total_0_54}}]]
[ 2020-06-11 10:59:35,760 ] [ DEBUG ] [ main:328 ]  Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1365, in _do_call
    return fn(*args)
  File "/usr/local/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1350, in _run_fn
    target_list, run_metadata)
  File "/usr/local/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1443, in _call_tf_sessionrun
    run_metadata)
tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value metrics/accuracy/total
     [[{{node _retval_metrics/accuracy/total_0_54}}]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/intel/openvino_2020.3.194/deployment_tools/model_optimizer/mo/front/tf/loader.py", line 220, in load_tf_graph_def
    outputs)
  File "/usr/local/lib/python3.7/site-packages/tensorflow_core/python/util/deprecation.py", line 324, in new_func
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/tensorflow_core/python/framework/graph_util_impl.py", line 330, in convert_variables_to_constants
    returned_variables = sess.run(variable_names)
  File "/usr/local/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 956, in run
    run_metadata_ptr)
  File "/usr/local/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1180, in _run
    feed_dict_tensor, options, run_metadata)
  File "/usr/local/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1359, in _do_run
    run_metadata)
  File "/usr/local/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1384, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value metrics/accuracy/total
     [[{{node _retval_metrics/accuracy/total_0_54}}]]

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/intel/openvino_2020.3.194/deployment_tools/model_optimizer/mo/utils/class_registration.py", line 288, in apply_transform
    for_graph_and_each_sub_graph_recursively(graph, replacer.find_and_replace_pattern)
  File "/opt/intel/openvino_2020.3.194/deployment_tools/model_optimizer/mo/middle/pattern_match.py", line 58, in for_graph_and_each_sub_graph_recursively
    func(graph)
  File "/opt/intel/openvino_2020.3.194/deployment_tools/model_optimizer/extensions/load/loader.py", line 27, in find_and_replace_pattern
    self.load(graph)
  File "/opt/intel/openvino_2020.3.194/deployment_tools/model_optimizer/extensions/load/tf/loader.py", line 58, in load
    saved_model_tags=argv.saved_model_tags)
  File "/opt/intel/openvino_2020.3.194/deployment_tools/model_optimizer/mo/front/tf/loader.py", line 231, in load_tf_graph_def
    raise FrameworkError('Cannot load input model: {}', e) from e
mo.utils.error.FrameworkError: Cannot load input model: Attempting to use uninitialized value metrics/accuracy/total
     [[{{node _retval_metrics/accuracy/total_0_54}}]]

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/intel/openvino_2020.3.194/deployment_tools/model_optimizer/mo/main.py", line 312, in main
    ret_code = driver(argv)
  File "/opt/intel/openvino_2020.3.194/deployment_tools/model_optimizer/mo/main.py", line 273, in driver
    ret_res = emit_ir(prepare_ir(argv), argv)
  File "/opt/intel/openvino_2020.3.194/deployment_tools/model_optimizer/mo/main.py", line 238, in prepare_ir
    graph = unified_pipeline(argv)
  File "/opt/intel/openvino_2020.3.194/deployment_tools/model_optimizer/mo/pipeline/unified.py", line 29, in unified_pipeline
    class_registration.ClassType.BACK_REPLACER
  File "/opt/intel/openvino_2020.3.194/deployment_tools/model_optimizer/mo/utils/class_registration.py", line 334, in apply_replacements
    apply_replacements_list(graph, replacers_order)
  File "/opt/intel/openvino_2020.3.194/deployment_tools/model_optimizer/mo/utils/class_registration.py", line 324, in apply_replacements_list
    num_transforms=len(replacers_order))
  File "/opt/intel/openvino_2020.3.194/deployment_tools/model_optimizer/mo/utils/logger.py", line 124, in wrapper
    function(*args, **kwargs)
  File "/opt/intel/openvino_2020.3.194/deployment_tools/model_optimizer/mo/utils/class_registration.py", line 306, in apply_transform
    raise FrameworkError('{}'.format(str(err))) from err
mo.utils.error.FrameworkError: Cannot load input model: Attempting to use uninitialized value metrics/accuracy/total
     [[{{node _retval_metrics/accuracy/total_0_54}}]]
tensorflow intel openvino
1个回答
1
投票

问题是在TensorFlow中训练的模型有一些形状未定义。在你的情况下,看起来输入的批次没有定义。为了解决这个问题,请在命令行中增加一个参数。-b 1. 该选项将batch设置为1,应该可以解决这个特殊问题。

之后,我想,你可能会遇到其他问题,所以我会留下以下链接。转换TensorFlow模型.有一些关于如何将TensorFlow模型转换为IR的提示。

© www.soinside.com 2019 - 2024. All rights reserved.