【问题标题】:how to onnx convert and connect openvino如何onnx转换和连接openvino
【发布时间】:2023-01-05 23:28:34
【问题描述】:

我想使用 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}} 

input_shape =(无,256,256,3)

【问题讨论】:

    标签: keras onnx openvino


    【解决方案1】:

    IECore API 不支持动态形状,因此您需要在将模型加载到插件之前将其设为静态。您可以在导入的模型上使用 reshape() 方法。

    作为替代方案,您可以切换到支持动态形状的 OV 2022.1 版本。您必须从 IECore 切换到 Coreread_network -> read_modelload_network -> compile_model

    【讨论】:

    • 为了回答,在 model_load 工作之后,我将其修改为 model.input.set_shape((1,256,256,3)) 并且它工作了谢谢。
    【解决方案2】:

    或者,您可以试试Speedster。它是一个开源库,利用 OpenVINO 和其他优化器,识别并应用最佳优化以实现最短的推理时间。这是notebook to optimize a resnet50

    这些库通常可以在不损失任何准确性的情况下将推理速度提高 2 到 5 倍,并且用户可以选择指定愿意通过积极优化获得更快推理的最大准确性损失(或任何其他指标)技术,例如。量化(FP16、FP8 静态和动态)和压缩技术。

    这是使用 Speedster 进行优化的示例

    # Load a resnet as example
    model = models.resnet50().to(device)
    
    # Provide an input data for the model    
    input_data = [((torch.randn(1, 3, 256, 256), ), torch.tensor([0]))]
    
    # Run Speedster optimization
    optimized_model = optimize_model(
      model, input_data=input_data, optimization_time="unconstrained"
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-10
      • 2022-08-08
      • 2020-03-31
      • 2022-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-27
      相关资源
      最近更新 更多