Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow 试图从冻结的TF模型中获取openVino IR_Tensorflow_Raspberry Pi_Intel_Openvino - Fatal编程技术网

Tensorflow 试图从冻结的TF模型中获取openVino IR

Tensorflow 试图从冻结的TF模型中获取openVino IR,tensorflow,raspberry-pi,intel,openvino,Tensorflow,Raspberry Pi,Intel,Openvino,我有一个给定的inceptionV2模型,我想使用NCS2在rPi上工作。例子很好用。现在,我得到的模型是基于ssd_inceptionv2演示的,我知道它是有效的,因为我已经能够将该演示的冻结pb转换为IR bin和xml文件,并成功地在pi上运行它们。但是,当我尝试将给定模型转换为IR时,它失败了。更具体地说,它以不同的方式失败,这取决于我如何尝试转换它 给定的模型有一个冻结的.pb文件、检查点文件和一个.pbtxt文件。转换.pb文件我使用的命令是: python3 /opt/intel/

我有一个给定的inceptionV2模型,我想使用NCS2在rPi上工作。例子很好用。现在,我得到的模型是基于ssd_inceptionv2演示的,我知道它是有效的,因为我已经能够将该演示的冻结pb转换为IR bin和xml文件,并成功地在pi上运行它们。但是,当我尝试将给定模型转换为IR时,它失败了。更具体地说,它以不同的方式失败,这取决于我如何尝试转换它

给定的模型有一个冻结的.pb文件、检查点文件和一个.pbtxt文件。转换.pb文件我使用的命令是:

python3 /opt/intel/computer_vision_sdk/deployment_tools/model_optimizer/mo_tf.py 
  --input_model frozengraph.pb 
  --tensorflow_use_custom_operations_config /opt/intel/computer_vision_sdk/deployment_tools/model_optimizer/extensions/front/tf/ssd_v2_support.json 
  --tensorflow_object_detection_api_pipeline "PATH"/pipeline.config 
  --reverse_input_channels 
  --data_type FP16
这就产生了输入形状错误,我用
--input_shape[1299299,3]
进行了补救,但它只会导致错误:

无法推断节点的形状或值

“后处理器/BatchMultiClassNonMaxSuppression/MultiClassNonMaxSuppression/SortByField/TopKV2”

因此,我尝试重新冻结模型并在graph.pbtxt上运行转换。对于这两种方法,它都会抛出错误,因为节点数分别为0和1


知道我在这里做错了什么吗?

假设您能够使用冻结的图形检测对象,尝试一次,将命令行参数更改为tensorflow\u object\u detection\u api\u pipeline\u config您使用的是哪个pipeline.config文件?如果您使用的是与自定义模型的冻结图形一起生成的pipeline.config文件,则应该能够创建IR文件。

假设您能够使用冻结图形检测对象,尝试一次,将命令行参数更改为tensorflow\u object\u detection\u api\u pipeline\u config您正在使用哪个pipeline.config文件?如果您使用的是与自定义模型的冻结图一起生成的pipeline.config文件,则应该能够创建IR文件。

Tensorflow模型可能有点棘手,尤其是在模型动物园中修改那些已经相当复杂的模型时。对于您的场景,我想提几件事:

在“使用TensorFlow*-特定转换参数”中,您会发现

使用TensorFlow*生成的模型通常没有完全定义的形状(在某些维度中包含-1)。必须使用命令行参数--input_shape或-b为输入传递显式形状,以仅覆盖批处理维度。如果形状已完全定义,则无需指定-b或--input_形状选项

这方面的一些示例包括,以及“关于模型优化器内部的高级主题”一节中的更多示例

作为记录,我能够从model zoo转换一个微调的更快的\u rcnn\u inception\u v2,而无需指定
--input\u shape
参数,因此它实际上取决于您的模型

此外,这可能是一个打字错误或版本问题,但
--tensorflow\u object\u detection\u api\u pipeline
参数是正式的
--tensorflow\u object\u detection\u api\u pipeline\u config
(如@Bhargavi所述)


最后,调试转换命令的一个好方法是使用
--log_level debug
参数查看完整的输出。

Tensorflow模型可能有点棘手,尤其是当您修改模型动物园中已经相当复杂的模型时。对于您的场景,我想提几件事:

在“使用TensorFlow*-特定转换参数”中,您会发现

使用TensorFlow*生成的模型通常没有完全定义的形状(在某些维度中包含-1)。必须使用命令行参数--input_shape或-b为输入传递显式形状,以仅覆盖批处理维度。如果形状已完全定义,则无需指定-b或--input_形状选项

这方面的一些示例包括,以及“关于模型优化器内部的高级主题”一节中的更多示例

作为记录,我能够从model zoo转换一个微调的更快的\u rcnn\u inception\u v2,而无需指定
--input\u shape
参数,因此它实际上取决于您的模型

此外,这可能是一个打字错误或版本问题,但
--tensorflow\u object\u detection\u api\u pipeline
参数是正式的
--tensorflow\u object\u detection\u api\u pipeline\u config
(如@Bhargavi所述)


最后,调试转换命令的一个好方法是使用
--log\u level debug
参数查看完整的输出。

请参阅下面的链接

您的命令类似于:

<INSTALL_DIR>/deployment_tools/model_optimizer/mo_tf.py --input_model=/tmp/ssd_inception_v2_coco_2018_01_28/frozen_inference_graph.pb --tensorflow_use_custom_operations_config <INSTALL_DIR>/deployment_tools/model_optimizer/extensions/front/tf/ssd_v2_support.json --tensorflow_object_detection_api_pipeline_config /tmp/ssd_inception_v2_coco_2018_01_28/pipeline.config --reverse_input_channels
/deployment\u tools/model\u optimizer/mo\u tf.py--input\u model=/tmp/ssd\u inception\u v2\u coco\u 2018\u 01\u 28/freezed\u interference\u graph.pb--tensorflow\u use\u custom\u operations\u config/deployment\u tools/model\u optimizer/extensions/front/tf/ssd\u v2\u support.json--\u tensorflow\u对象检测\u api\u pipeline\u config/tmp/ssd\u inception\u v2\u coco\u 2018\u管道配置--反向输入通道
请仔细阅读文档中自定义输入形状中的部分。请添加一个
--日志级调试以查看MO故障的更多详细信息


希望这有帮助。

请参考下面的链接

您的命令类似于:

<INSTALL_DIR>/deployment_tools/model_optimizer/mo_tf.py --input_model=/tmp/ssd_inception_v2_coco_2018_01_28/frozen_inference_graph.pb --tensorflow_use_custom_operations_config <INSTALL_DIR>/deployment_tools/model_optimizer/extensions/front/tf/ssd_v2_support.json --tensorflow_object_detection_api_pipeline_config /tmp/ssd_inception_v2_coco_2018_01_28/pipeline.config --reverse_input_channels
/deployment\u tools/model\u optimizer/mo\u tf.py--input\u model=/tmp/ssd\u inception\u v2\u coco\u 2018\u 01\u 28/freezed\u interference\u graph.pb--tensorflow\u use\u custom\u operations\u config/deployment\u tools/model\u optimizer/extensions/front/tf/ssd\u v2\u support.json--\u tensorflow\u对象检测\u api\u pipeline\u config/tmp/ssd\u inception\u v2\u coco\u 2018\u管道配置--反向输入通道
请仔细阅读文档中自定义输入形状中的部分。请添加一个
--日志级调试以查看MO故障的更多详细信息

希望这有帮助