OpenVINO конвертировать модель TF в файл IR Проблема - PullRequest
2 голосов
/ 27 сентября 2019

Я пытаюсь преобразовать модель тензорного потока в файлы IR OpenVINO.Я скачал предварительно обученную модель со следующего адреса:

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

Затем я извлек файл, чтобы получить файл .pb с именем frozen_inference_graph.pb«Затем я использовал команду преобразования в папке OpenVINO

» IntelSWTools \ openvino_2019.2.275 \ deploy_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

Я пробовал много других моделей тензорного потока, но у всех та же проблема.Я использовал другую версию тензорного потока от 1.2.0 до 1.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 может быть сгенерирован правильно.

1 Ответ

1 голос
/ 30 сентября 2019

Оптимизатор модели Openvino (mo_tf.py) ожидает больше аргументов.Пожалуйста, передайте ниже также-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

1007: *
...