OpenVINO C 异步推理接口部署YOLOv8 代码

2021-09-23

OpenVINO C++ 异步推理接口部署YOLOv8 代码

本仓库提供了一个使用OpenVINO Runtime进行异步推理的C++代码示例,特别针对YOLOv8模型进行了优化。通过使用OpenVINO的异步推理接口,我们能够显著提升推理速度,从而在实际应用中实现更高的帧率。

资源文件描述

OpenVINO Runtime支持同步或异步模式下的推理。异步API的主要优点是,当设备忙于推理时,应用程序可以并行执行其他任务(例如,填充输入或调度其他请求),而不是等待当前推理首先完成。当我们使用异步API时,第二个请求的传输与第一个推理的执行重叠,这防止了任何硬件空闲时间。

在本示例中,我们以YOLOv8模型为例,对比了OpenVINO分别使用同步推理接口以及异步推理接口的推理速度情况。其中同步推理一帧平均推理时间为43.02毫秒,而异步接口一帧平均推理时间仅为11.37毫秒,异步接口一秒钟平均可以实现87.98FPS的推理,是同步推理的3.78倍,速度快到飞起!

使用说明

  1. 环境配置
    • 确保已安装OpenVINO Runtime库。
    • 配置好C++编译环境。
  2. 编译与运行
    • 下载本仓库中的代码。
    • 根据您的环境配置编译代码。
    • 运行生成的可执行文件,观察异步推理的性能提升。
  3. 性能对比
    • 您可以通过修改代码中的推理模式(同步/异步)来对比两者的性能差异。
    • 使用提供的计时工具,记录并分析推理时间。

注意事项

  • 本示例代码仅作为学习参考,实际应用中可能需要根据具体需求进行调整。
  • 异步推理的优势在多任务并行处理时尤为明显,建议在实际项目中进行充分测试。

通过本示例,您将能够深入理解OpenVINO异步推理接口的优势,并在实际项目中应用这些技术,提升推理效率。

下载链接

OpenVINOC异步推理接口部署YOLOv8代码