主要分为如下几步:
1. 创建Openvino的运行时核心类
2. 为特定设备编译AI模型
3. 创建推断请求
4. 设置输入
5. 开始推断
6. 处理推断结果
7. 构建应用和链接openvino运行时库
参考代码结构:
#include <openvino/openvino.hpp>
ov::Core core;
ov::CompiledModel compiled_model = core.compile_model("model.onnx", "AUTO");
ov::InferRequest infer_request = compiled_model.create_infer_request();
// Get input port for model with one input
auto input_port = compiled_model.input();
// Create tensor from external memory
ov::Tensor input_tensor(input_port.get_element_type(), input_port.get_shape(), memory_ptr);
// Set input tensor for model with one input
infer_request.set_input_tensor(input_tensor);
infer_request.start_async();
infer_request.wait();
// Get output tensor by tensor name
auto output = infer_request.get_tensor("tensor_name");
const float *output_buffer = output.data<const float>();
// output_buffer[] - accessing output tensor data