【发布时间】:2021-07-02 00:48:51
【问题描述】:
我遵循的步骤:
- 使用 TF 提供的 saved_model 函数保存的 tensorflow 模型。
- 使用以下命令为 TF 运行 OpenVino 优化器:
python3 mo_tf.py --saved_model_dir $PATH_TO_SAVED_MODEL --output_dir $OUTPUT_PATH --input name_input_layer_1,name_input_layer_2 --input_shape [1,30,180,320,3],[1,30,180,320,3] --model_name model1
- 从代码中的
$OUTPUTH_PATH导入.xml和.bin文件:
ie = IECore()
net = ie.read_network(model='OUTPUT_PATH/model1.xml', weights='OUTPUT_PATH/model1.bin')
exec_net = ie.load_network(network=net, device_name="CPU")
- 模型预测结果:
exec_net.infer({ "name_input_layer_1": a_sample, "name_input_layer_2": b_sample })
当代码到达推断行时,它会引发以下错误:
ValueError: could not broadcast input array from shape (1,30,180,320,3) into shape (1,3,30,180,320)
我在运行优化器时尝试给出输入的形状,但它不起作用。我还尝试添加一个批号 insted,但它也不起作用。 我知道 tensorflow 默认情况下最后使用通道,但是由于某种原因,当我进行预测 openvino 时仍然会更改顺序。我是否遗漏了什么,任何帮助将不胜感激。
【问题讨论】:
标签: python tensorflow openvino