【问题标题】:Where to define channels last in OpenVino, with a TF model使用 TF 模型在 OpenVino 中最后定义通道的位置
【发布时间】: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


    【解决方案1】:

    看起来程序需要形状 (1, 3, 30, 180, 320),在您的第一个命令中,您已将输入形状指定为 (1, 30, 180, 320, 3)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-28
      • 2021-09-15
      相关资源
      最近更新 更多