使用 OpenVINO™ C# 异步推理接口部署YOLOv8 ——在Intel IGPU 上速度依旧飞起!!

💡 原文中文,约7800字,阅读约需19分钟。
📝

内容提要

OpenVINO Runtime支持同步或异步模式下的推理。异步API的优点是可以并行执行其他任务,而不是等待当前推理完成。OpenVINO C# API是一个OpenVINO的.Net wrapper,可以在.NET框架下使用C#语言实现深度学习模型的推理加速。异步模式可以提高应用程序的帧速率,可以使用InferRequest.start_async接口进行推理。项目环境为OpenVINO IGPUCPU: Intel Core i7-1165G7IGPU: Intel Iris Xe Graphics。代码实现包括定义YOLOv8数据处理方法和异步推理实现。异步推理速度提升了3.78倍。

🎯

关键要点

  • OpenVINO Runtime支持同步和异步推理,异步API允许并行执行其他任务。

  • OpenVINO C# API是OpenVINO的.Net wrapper,支持在.NET框架下进行深度学习推理。

  • 异步推理可以提高应用程序的帧速率,使用InferRequest.start_async接口进行推理。

  • 项目环境为Intel Core i7-1165G7和Intel Iris Xe Graphics,推理模型为YOLOv8,视频分辨率为1920×1080。

  • 代码实现包括YOLOv8的数据处理和异步推理,异步推理速度提升了3.78倍。

  • 异步模式下,InferRequest支持同步和异步推理,提供两种等待结果的方法。

  • 时间测试显示,异步推理的平均推理时间为15.49毫秒,达到64.56FPS,是同步推理的3.11倍。

  • 总结中指出,C#中使用OpenVINO异步推理实现了快速推理,未进行任何优化。

延伸问答

OpenVINO C# API的主要功能是什么?

OpenVINO C# API是OpenVINO的.Net wrapper,支持在.NET框架下实现深度学习模型的推理加速。

异步推理相比同步推理有什么优势?

异步推理允许并行执行其他任务,提升应用程序的帧速率,速度提升了3.78倍。

如何在C#中实现YOLOv8的异步推理?

在C#中实现YOLOv8的异步推理需要创建多个InferRequest,并使用start_async接口进行推理。

在什么样的硬件环境下进行的推理测试?

推理测试在Intel Core i7-1165G7和Intel Iris Xe Graphics的环境下进行。

异步推理的平均推理时间是多少?

异步推理的平均推理时间为15.49毫秒,达到64.56FPS。

如何使用InferRequest进行异步推理?

使用InferRequest.start_async接口启动异步推理,并可以通过wait或wait_for方法等待结果。

🏷️

标签

➡️

继续阅读