keras onnx如何转换和连接openvino

pdkcd3nj  于 2023-01-09  发布在  其他
关注(0)|答案(1)|浏览(250)

我想用openvino做推理,但是用openvino的时候出错了,有办法解决吗?enter code here

model = keras.models.load_model('/resnet50.h5')
onnx_model, _ = tf2onnx.convert.from_keras(model, opset=16)
onnx.save(onnx_model, '/t1_model.onnx')

ie = IECore()

net = ie.read_network("/t1_model.onnx")
input_name = list(net.input_info.keys())[0]
output_name = list(net.outputs.keys())[0]

net.input_info[input_name].precision = 'FP32'
net.outputs[output_name].precision = 'FP32'

exec_net = ie.load_network(network=net, device_name='CPU')

我面对这些问题。

RuntimeError: Check 'std::get<0>(valid)' failed at C:\j\workspace\private-ci\ie\build-windows-vs2019@3\b\repos\openvino\src\inference\src\ie_core.cpp:1414:
InferenceEngine::Core::LoadNetwork doesn't support inputs having dynamic shapes. Use ov::Core::compile_model API instead. Dynamic inputs are :{ input:'input_1,input_1', shape={?,256,256,3}}

输入形状=(无、256,256,3)

7hiiyaii

7hiiyaii1#

IECore API不支持动态形状,因此在加载到插件之前,您需要将模型设置为静态。您可以在导入的模型上使用reshape()方法。
作为替代方法,您可以切换到支持动态形状的OV 2022.1版本。您必须从IECore切换到Coreread_network-〉read_modelload_network-〉compile_model

相关问题