python - 使用 TF 模型在 OpenVino 中最后定义通道的位置
问题描述
我遵循的步骤:
- 使用 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
- 从代码中导入
.xml
和.bin
文件$OUTPUTH_PATH
:
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 时仍然会更改顺序。我错过了什么,任何帮助将不胜感激。
解决方案
看起来程序需要形状 (1, 3, 30, 180, 320),在您的第一个命令中,您已将输入形状指定为 (1, 30, 180, 320, 3)。
推荐阅读
- javascript - 当值既不是数字也不是字符串类型时,Number() 是否显式调用 toString()?(例如功能)
- unicode - 如何将异国情调的 Unicode 拉丁字母映射到它们的基本字母?
- reactjs - const Page 和 class Page 的使用区别用 GatsbyJS/ReactJS 扩展 React.Component
- apache - 图像名称重写规则 - htaccess
- algorithm - 对包含 [0,127] 范围内元素的矩阵进行排序的最有效算法是什么?
- computer-vision - 从对象检测中提取长度
- javascript - 修改 Object.fromEntries 的返回值
- python - 使用 if 和 for 的嵌套列表推导
- java - 阅读简单递归代码时遇到问题(JAVA)
- reactjs - 将 JsZipUtils 与 NPM 和 React 一起使用 - 无法导入文件