OpenVINO 将 TF 模型转换为 IR 文件问题

OpenVINO Convert TF Model to IR file Issue

我正在尝试将 tensorflow 模型转换为 OpenVINO IR 文件。 我已经从以下地址下载了预训练模型:

http://download.tensorflow.org/models/object_detection/mask_rcnn_inception_v2_coco_2018_01_28.tar.gz

然后我提取文件得到一个名为 "frozen_inference_graph.pb" 的 .pb 文件 然后我用OpenVINO文件夹里的转换命令

"IntelSWTools\openvino_2019.2.275\deployment_tools\model_optimizer\"

如下:

python mo_tf.py --input_model frozen_inference_graph.pb

但我收到以下错误消息。 我怎样才能修改任何东西来解决这个问题?

Model Optimizer arguments:
Common parameters:
    - Path to the Input Model:  <my folder>\frozen_inference_graph.pb
    - Path for generated IR:    <my OpenVINO folder>\IntelSWTools\openvino_2019.2.275\deployment_tools\model_optimizer\.
- 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:   None
- Use configuration file used to generate the model with Object Detection API:  None
- Operations to offload:    None
- Patterns to offload:  None
- Use the config file:  None
Model Optimizer version:    2019.2.0-436-gf5827d4

C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\tensorflow\python\framework\dtypes.py:458: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint8 = np.dtype([("qint8", np.int8, 1)])

[ ERROR ]  Shape [-1 -1 -1  3] is not fully defined for output 0 of "image_tensor". Use --input_shape with positive integers to override model input shapes.
[ ERROR ]  Cannot infer shapes or values for node "image_tensor".
[ ERROR ]  Not all output shapes were inferred or fully defined for node "image_tensor".  For more information please refer to Model Optimizer FAQ (https://docs.openvinotoolkit.org/latest/_docs_MO_DG_prepare_model_Model_Optimizer_FAQ.html), question #40. 
[ ERROR ]  
[ ERROR ]  It can happen due to bug in custom shape infer function <function Parameter.__init__.<locals>.<lambda> at 0x000002032A17D378>.
[ 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).
[ ERROR ]  Run Model Optimizer with --log_level=DEBUG for more information.
[ ERROR ]  Exception occurred during running replacer "REPLACEMENT_ID" (<class 'extensions.middle.PartialInfer.PartialInfer'>): Stopped shape/value propagation at "image_tensor" node. 
For more information please refer to Model Optimizer FAQ (https://docs.openvinotoolkit.org/latest/_docs_MO_DG_prepare_model_Model_Optimizer_FAQ.html), question #38. 

Process finished with exit code 1

我试过很多其他的tensorflow模型,但都有同样的问题。 我使用了不同的 tensorflow 版本,从 1.2.01.14.0 但相同。

关于形状的关键字似乎是主要原因。但是我怎样才能添加一些东西来避免这个问题呢?

Shape [-1 -1 -1  3] is not fully defined for output 0 of "image_tensor". Use --input_shape with positive integers to override model input shapes.

希望IR文件能正确生成

Openvino 模型优化器 (mo_tf.py) 需要更多参数。请同时通过以下内容。

python mo_tf.py --output_dir <\PATH> --input_model <\PATH>\mask_rcnn_inception_v2_coco_2018_01_28\frozen_inference_graph.pb --tensorflow_use_custom_operations_config extensions\front\tf\mask_rcnn_support .json --tensorflow_object_detection_api_pipeline_config <\PATH>\mask_rcnn_inception_v2_coco_2018_01_28\pipeline.config

mask_rcnn_inception_v2_coco 模型可以从 https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md

下载

更多详情请参考:https://docs.openvinotoolkit.org/latest/_docs_MO_DG_prepare_model_convert_model_Convert_Model_From_TensorFlow.html