当CNNNetwork输入blob精度为FP32时,OpenVINO 1D CNN模型输入张量设置精度为FP64的输入b



我尝试用OpenVINO API 2.0来推断我的1D CNN模型。

我的输入是一个CSV文件,有几个信号记录,所以我使用model.reshape设置一个动态输入大小。

import openvino.runtime as ov
import numpy as np
core = ov.Core()
signal = np.genfromtxt('A4C_LV_V.csv')
model = core.read_model(model="saved_model.xml")
model.reshape([1, signal.size])
compiled_model = core.compile_model(model, "CPU")
infer_request = compiled_model.create_infer_request()
input_tensor = ov.Tensor(array=signal, shared_memory=True)
infer_request.set_input_tensor(input_tensor)
infer_request.start_async()
infer_request.wait()
output = infer_request.get_output_tensor()
output_buffer = output.data

但是我遇到了下面的错误。

RuntimeError: [ PARAMETER_MISMATCH ] Failed to set input blob with precision: FP64, if CNNNetwork input blob precision is: FP32

如果我注释第11行:infer_request.set_input_tensor(input_tensor) .

错误将被解决,推理将成功。

我没有删除set_input_tensor的感觉,仍然可以正常工作。

这里是我的推理文件。

(ZIP文件包含3个IR文件和1个输入文件)

看来你的模型精度是不正确的。请确保您的模型已正确转换为正确的精度。

OpenVINO支持三种常用的模型精度:FP32、FP16和INT8

如需进一步资料,请参阅此处和此处。

如果您想为模型提供一个大小不同于模型输入形状的输入,OpenVINO确实提供了在运行时更改模型输入形状的功能。使用重塑方法改变单输入模型的输入形状。详情请参阅此处

有些模型支持在编译前更改输入形状。对于这个用例,您可以这样配置模型。

相关内容

  • 没有找到相关文章

最新更新