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.
6392 Discussions

Unable to convert Faster_Rcnn model to IR on 2019.3 version

nikhil__aditya
Beginner
515 Views

Hi there,

Am trying to convert faster_rcnn_inception_v2_coco_2018_01_28 model to IR using the below command, 

python mo.py --input_model /home/workspace/faster_rcnn_inception_v2_coco_2018_01_28/frozen_inference_graph.pb  --tensorflow_object_detection_api_pipeline_config /home/workspace/faster_rcnn_inception_v2_coco_2018_01_28/pipeline.config --tensorflow_custom_operations_config_update extensions/front/tf/faster_rcnn_support.json --output_dir /home/workspace/faster_rcnn_inception_v2_coco_2018_01_28 

And am facing this error,

Model Optimizer arguments:
Common parameters:
        - Path to the Input Model:      /home/workspace/faster_rcnn_inception_v2_coco_2018_01_28/frozen_inference_graph.pb
        - Path for generated IR:        /home/workspace/faster_rcnn_inception_v2_coco_2018_01_28
        - IR output name:       frozen_inference_graph
        - Log level:    ERROR
        - Batch:        Not specified, inherited from the model
        - Input layers:         Not specified, inherited from the model
        - Output layers:        Not specified, inherited from the model
        - Input shapes:         Not specified, inherited from the model
        - Mean values:  Not specified
        - Scale values:         Not specified
        - Scale factor:         Not specified
        - Precision of IR:      FP32
        - Enable fusing:        True
        - Enable grouped convolutions fusing:   True
        - Move mean values to preprocess section:       False
        - Reverse input channels:       False
TensorFlow specific parameters:
        - Input model in text protobuf format:  False
        - Path to model dump for TensorBoard:   None
        - List of shared libraries with TensorFlow custom layers implementation:        None
        - Update the configuration file with input/output node names:   /opt/intel/openvino_2019.3.376/deployment_tools/model_optimizer/extensions/front/tf/faster_rcnn_support.json
        - Use configuration file used to generate the model with Object Detection API:  /home/workspace/faster_rcnn_inception_v2_coco_2018_01_28/pipeline.config
        - Operations to offload:        None
        - Patterns to offload:  None
        - Use the config file:  None
Model Optimizer version:        2019.3.0-408-gac8584cb7
[ ERROR ]  -------------------------------------------------
[ ERROR ]  ----------------- INTERNAL ERROR ----------------
[ ERROR ]  Unexpected exception happened.
[ ERROR ]  Please contact Model Optimizer developers and forward the following information:
[ ERROR ]  Exception occurred during running replacer "REPLACEMENT_ID (<class 'extensions.front.tf.tensorflow_custom_operations_config_update.TensorflowCustomOperationsConfigUpdate'>)": The function 'update_custom_layer_attributes' must be implemented in the sub-class.
[ ERROR ]  Traceback (most recent call last):
  File "/opt/intel/openvino_2019.3.376/deployment_tools/model_optimizer/mo/utils/class_registration.py", line 273, in apply_replacements
    for_graph_and_each_sub_graph_recursively(graph, replacer.find_and_replace_pattern)
  File "/opt/intel/openvino_2019.3.376/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_2019.3.376/deployment_tools/model_optimizer/extensions/front/tf/tensorflow_custom_operations_config_update.py", line 59, in find_and_replace_pattern
    replacement_desc.update_custom_replacement_attributes(graph)
  File "/opt/intel/openvino_2019.3.376/deployment_tools/model_optimizer/mo/utils/custom_replacement_config.py", line 136, in update_custom_replacement_attributes
    raise Exception("The function 'update_custom_layer_attributes' must be implemented in the sub-class.")
Exception: The function 'update_custom_layer_attributes' must be implemented in the sub-class.

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

Traceback (most recent call last):
  File "/opt/intel/openvino_2019.3.376/deployment_tools/model_optimizer/mo/main.py", line 298, in main
    return driver(argv)
  File "/opt/intel/openvino_2019.3.376/deployment_tools/model_optimizer/mo/main.py", line 247, in driver
    is_binary=not argv.input_model_is_text)
  File "/opt/intel/openvino_2019.3.376/deployment_tools/model_optimizer/mo/pipeline/tf.py", line 136, in tf2nx
    class_registration.apply_replacements(graph, class_registration.ClassType.FRONT_REPLACER)
  File "/opt/intel/openvino_2019.3.376/deployment_tools/model_optimizer/mo/utils/class_registration.py", line 299, in apply_replacements
    )) from err
Exception: Exception occurred during running replacer "REPLACEMENT_ID (<class 'extensions.front.tf.tensorflow_custom_operations_config_update.TensorflowCustomOperationsConfigUpdate'>)": The function 'update_custom_layer_attributes' must be implemented in the sub-class.

[ ERROR ]  ---------------- END OF BUG REPORT --------------
[ ERROR ]  -------------------------------------------------

Please tell me why this error's occuring and how to overcome this.

 

Thank you,

Aditya Nikhil

0 Kudos
1 Solution
JAIVIN_J_Intel
Employee
515 Views

Please refer to the TensorFlow Specific Conversion Parameters for OpenVINO 2019_R3.1 release that you are using.

You might have probably referred to the documentation for the latest version of OpenVINO on which --tensorflow_use_custom_operations_config is not mentioned. This is because the parameter --tensorflow_use_custom_operations_config is deprecated on the latest release and will be removed in the future releases.
 

View solution in original post

0 Kudos
4 Replies
JAIVIN_J_Intel
Employee
515 Views

Hi Aditya,

It seems like you are using --tensorflow_custom_operations_config_update parameter instead of --tensorflow_use_custom_operations_config.

Is there any specific reason? If not, please try replacing the specified parameter.

Regards,

Jaivin

0 Kudos
nikhil__aditya
Beginner
515 Views

Hey Jaivin,

Thanks for the reply.

So i added update because, it was not recognising the parameter as it is. So i checked with documentation over the website and added update.

0 Kudos
JAIVIN_J_Intel
Employee
516 Views

Please refer to the TensorFlow Specific Conversion Parameters for OpenVINO 2019_R3.1 release that you are using.

You might have probably referred to the documentation for the latest version of OpenVINO on which --tensorflow_use_custom_operations_config is not mentioned. This is because the parameter --tensorflow_use_custom_operations_config is deprecated on the latest release and will be removed in the future releases.
 

0 Kudos
nikhil__aditya
Beginner
515 Views

Oh yeah my bad..

I specified --tensorflow_custom_operations_config instead of --tensorflow_use_custom_operations_config.

Thank you Jaivin!

0 Kudos
Reply