我想用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)
1条答案
按热度按时间7hiiyaii1#
IECore API不支持动态形状,因此在加载到插件之前,您需要将模型设置为静态。您可以在导入的模型上使用
reshape()
方法。作为替代方法,您可以切换到支持动态形状的OV 2022.1版本。您必须从
IECore
切换到Core
、read_network
-〉read_model
、load_network
-〉compile_model
。