Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.
6404 Discussions

Error optimizing a ResNet50-FPN model for Faster R-CNN

Juj__Satyajith
Beginner
300 Views

Command (Win10):

python "C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\mo_tf.py"

--input_model "C:\Users\user\Workspace\openvino\model\pb\frcnn_frozen.pb"

--output_dir "C:\Users\user\Workspace\openvino\model\FP32"

--input "image"

--input_shape [512,512,3]

--data_type FP32

--log_level=DEBUG

 

Output:

[ 2019-05-18 18:08:51,675 ] [ DEBUG ] [ tf:222 ]  Added placeholder with name 'generate_fpn_proposals/concat_1_port_0_ie_placeholder'
[ 2019-05-18 18:08:51,678 ] [ DEBUG ] [ tf:222 ]  Added placeholder with name 'generate_fpn_proposals/Minimum_port_0_ie_placeholder'
[ 2019-05-18 18:08:51,678 ] [ DEBUG ] [ tf:235 ]  update_input_in_pbs: replace input 'generate_fpn_proposals/concat_1' with input 'generate_fpn_proposals/concat_1_port_0_ie_placeholder'
[ 2019-05-18 18:08:51,679 ] [ DEBUG ] [ tf:243 ]  Replacing input '0' of the node 'generate_fpn_proposals/TopKV2' with placeholder 'generate_fpn_proposals/concat_1_port_0_ie_placeholder'
[ 2019-05-18 18:08:51,679 ] [ DEBUG ] [ tf:235 ]  update_input_in_pbs: replace input 'generate_fpn_proposals/Minimum' with input 'generate_fpn_proposals/Minimum_port_0_ie_placeholder'
[ 2019-05-18 18:08:51,680 ] [ DEBUG ] [ tf:243 ]  Replacing input '1' of the node 'generate_fpn_proposals/TopKV2' with placeholder 'generate_fpn_proposals/Minimum_port_0_ie_placeholder'
[ ERROR ]  Cannot infer shapes or values for node "generate_fpn_proposals/TopKV2".
[ ERROR ]  0
[ ERROR ]
[ ERROR ]  It can happen due to bug in custom shape infer function <function tf_native_tf_node_infer at 0x000001DC4B85D158>.
[ ERROR ]  Or because the node inputs have incorrect values/shapes.
[ ERROR ]  Or because input shapes are incorrect (embedded to the model or passed via --input_shape).
[ 2019-05-18 18:08:51,690 ] [ DEBUG ] [ infer:194 ]  Node "generate_fpn_proposals/TopKV2" attributes: {'pb': name: "generate_fpn_proposals/TopKV2"

op: "TopKV2"
input: "generate_fpn_proposals/concat_1_port_0_ie_placeholder"
input: "generate_fpn_proposals/Minimum_port_0_ie_placeholder"
attr {
  key: "T"
  value {
    type: DT_FLOAT
  }
}
attr {
  key: "sorted"
  value {
    b: false
  }
}
, '_in_ports': {0, 1}, '_out_ports': {1}, 'kind': 'op', 'name': 'generate_fpn_proposals/TopKV2', 'op': 'TopKV2', 'precision': 'FP32', 'infer': <function tf_native_tf_node_infer at 0x000001DC4B85D158>, 'is_output_reachable': True, 'is_undead': False, 'is_const_producer': False, 'is_partial_inferred': False}
[ ERROR ]  Exception occurred during running replacer "REPLACEMENT_ID" (<class 'extensions.middle.PartialInfer.PartialInfer'>): Stopped shape/value propagation at "generate_fpn_proposals/TopKV2" node.
 For more information please refer to Model Optimizer FAQ (<INSTALL_DIR>/deployment_tools/documentation/docs/MO_FAQ.html), question #38.
[ 2019-05-18 18:08:51,696 ] [ DEBUG ] [ main:318 ]  Traceback (most recent call last):
  File "C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\mo\middle\passes\infer.py", line 130, in partial_infer
    node.infer(node)
  File "C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\mo\front\tf\partial_infer\tf.py", line 60, in tf_native_tf_node_infer
    tf_subgraph_infer(tmp_node)
  File "C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\mo\front\tf\partial_infer\tf.py", line 137, in tf_subgraph_infer
    out_node = node.out_node(out_port)
  File "C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\mo\graph\graph.py", line 171, in out_node
    return self.out_nodes(control_flow=control_flow)[key]
KeyError: 0

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

Traceback (most recent call last):
  File "C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\mo\utils\class_registration.py", line 167, in apply_replacements
    replacer.find_and_replace_pattern(graph)
  File "C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\extensions\middle\PartialInfer.py", line 31, in find_and_replace_pattern
    partial_infer(graph)
  File "C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\mo\middle\passes\infer.py", line 196, in partial_infer
    refer_to_faq_msg(38)) from err
mo.utils.error.Error: Stopped shape/value propagation at "generate_fpn_proposals/TopKV2" node.
 For more information please refer to Model Optimizer FAQ (<INSTALL_DIR>/deployment_tools/documentation/docs/MO_FAQ.html), question #38.

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

Traceback (most recent call last):
  File "C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\mo\main.py", line 312, in main
    return driver(argv)
  File "C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\mo\main.py", line 263, in driver
    is_binary=not argv.input_model_is_text)
  File "C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\mo\pipeline\tf.py", line 128, in tf2nx
    class_registration.apply_replacements(graph, class_registration.ClassType.MIDDLE_REPLACER)
  File "C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\mo\utils\class_registration.py", line 184, in apply_replacements
    )) from err
mo.utils.error.Error: Exception occurred during running replacer "REPLACEMENT_ID" (<class 'extensions.middle.PartialInfer.PartialInfer'>): Stopped shape/value propagation at "generate_fpn_proposals/TopKV2" node.
 For more information please refer to Model Optimizer FAQ (<INSTALL_DIR>/deployment_tools/documentation/docs/MO_FAQ.html), question #38.

 

Any help would be appreciated. Thank you

0 Kudos
1 Reply
Shubha_R_Intel
Employee
300 Views

Dear Juj, Satyajith,

Please choose a Resnet50-FPN from this list which have been validated by the OpenVino team. To convert a Tensofrlow Object Detection API model, please follow the steps outlined in the below document:

http://docs.openvinotoolkit.org/latest/_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_Object_Detection_API_Models.html

Thanks,

Shubha

0 Kudos
Reply