当前位置:   article > 正文

开发者实战 | 如何在 Windows 上调用 NPU 部署深度学习模型

pc npu 大模型 csdn

点击蓝字

关注我们,让开发变得更有趣

作者 | 杨亦诚

排版 | 李擎

6355e347700d53309d383e33488523c4.png

OpenVINO™..♩~ ♫. ♪..

相信很多小伙伴都已经知道,在最新一代的 Intel Core Ultra 移动端平台中已经集成了被称为 NPU 的神经网络加速处理器,以提供低功耗的AI算力,特别适合于 PC 端需要长时间稳定运行的 AI 辅助功能,例如会议聊天软件中的自动抠像,或是画面超分辨率等应用。而 OpenVINO™ 工具套件也在第一时间对 NPU 进行了适配,接下来就让我们一起看一下如何在 Intel Core Ultra 处理器上搭建基础环境,并调用 NPU 进行模型推理任务。

OpenVINO™

aab267307946bfa53616db2bb3882e07.gif

NPU 驱动安装

首先我们需要确保是否安装了最新版的 NPU 驱动,可以通过 Windows 任务管理调出当前 NPU 驱动版本信息。

b238e0c1abed9706159c9d26a15e56a8.png

图:NPU在Windows任务管理器中显示驱动版本

查询当前最新的 NPU 驱动版本:

https://www.intel.com/content/www/us/en/download/794734/intel-npu-driver-windows.html

5869d2dad8c7fc6424c720e72591dde5.png

图:NPU驱动下载页面

如果想更新或是重装 NPU 驱动,可以参考以下指引下载并安装驱动:

https://docs.openvino.ai/2023.3/openvino_docs_install_guides_configurations_for_intel_npu.html

4686b7b9c0fe1a2af4d2a513e6aaaab3.gif

OpenVINO™ 的下载和安装

由于目前 NPU Plugin 还没有被集成在 OpenVINO™  的 pipy 安装包中,因此我们需要通过下载 OpenVINO™ runtime 压缩包的方式进行安装。

5221d1b8cfbab54842e92c381568f562.png

图:OpenVINO™下载页面

整个安装过程非常简单,只需将压缩包解压到在本地路径下既可。具体方法可以参考上图标红处的安装说明。

f1bc35126a439ae16fd518f02f867ee1.jpeg

图:将压缩包解压至本地路径

3358799f326fd79c03269a4f05358b4a.gif

Python环境配置

通过执行压缩包中的 setupvars.bat 环境配置脚本,我们便可以直接在 Python 环境下加载 OpenVINO™ runtime 和 NPU Plugin 环境。同时利用 OpenVINO™ 的 Python API 指令,我们可以快速验证 NPU 是否可以被正常调用。

174ef44cf8e748cb7eeac745f64a1e27.png

图:Python环境中验证NPU调用

c757a95699679b9ab569d710871afc5d.gif

C++ 环境配置

不同于 Python,Windows 上的 C++ 应用需要依赖于 CMake 或者是 Visual Studio 的环境下调试,因此这里我们需要简单配置下 OpenVINO™ 库的路径。下面以 Visual Studio 中新建项目的属性配置页面为例。

de1961def3d90427a4bccfbd8b6e4023.png

图:配置OpenVINO™ runtime头文件路径

c2eb96b8183382890a6ab99547d39bd2.png

图:配置OpenVINO™ runtime动态库路径

4f27a4fe6facf957b7d1f4d269d1d01f.png

图:配置OpenVINO™ runtime及frontednd静态库路径

54bbe6351de083f6df387213aa3b385b.png

图:在Windows本地添加OpenVINO环境变量路径

当完成 Visual Studio 项目属性配置后,我们可以通过调试以下示例代码,测试 NPU 是否可以被检测及调用。

  1. #include <iostream>
  2. #include <openvino/openvino.hpp>
  3. int main(int argc, char* argv[]) {
  4. // -------- Get OpenVINO runtime version --------
  5. std::cout << ov::get_openvino_version() << std::endl;
  6. // -------- Step 1. Initialize OpenVINO Runtime Core --------
  7. ov::Core core;
  8. // -------- Step 2. Get list of available devices --------
  9. std::vector<std::string> availableDevices = core.get_available_devices();
  10. // -------- Step 3. Query and print supported metrics and config keys --------
  11. std::cout << "available devices: " << std::endl;
  12. for (auto&& device : availableDevices) {
  13. std::cout << device << std::endl;
  14. }
  15. }

18d79a8f50afafc69cbd98120e474619.png

图:VS环境中验证NPU调用

607d5aaab38b1a5f86f7ee78a048f459.gif

  测试效果

当完成 NPU 安装后,我们可以通过 OpenVINO™ notebooks 中提供的示例,简单测试下 NPU 的性能。这个示例会通过以下 Python 代码来将模型部署在 NPU  上。

compiled_model = core.compile_model("model.xml", "NPU")

21c73a86e74a7c1c4c0d1b41a1a04dfb.png

图:实时人体关键点演示效果

可以看到 NPU 在运行实时人体关键点检测模型时的效果和速度还是非常不错的,达到了 90FPS 的吞吐量,同时推理任务几乎也没有占用 CPU 额外的资源,真正做到了在提供高算力的同时,减轻 CPU 和 GPU 的任务负载。

参考资料:

1. OpenVINO™ 下载与安装方式:

https://docs.openvino.ai/2023.3/openvino_docs_install_guides_overview.html?VERSION=v_2023_3_0&OP_SYSTEM=WINDOWS&DISTRIBUTION=ARCHIVE

2. NPU 环境配置:https://docs.openvino.ai/2023.3/openvino_docs_install_guides_configurations_for_intel_npu.html

3. OpenVINO™ notebooks 示例:

https://github.com/openvinotoolkit/openvino_notebooks

OpenVINO™

--END--

你也许想了解(点击蓝字查看)⬇️➡️ 隆重推出 OpenVINO 2023.3 ™ 最新长期支持版本➡️ OpenVINO™ 2023.2 发布:让生成式 AI 在实际场景中更易用➡️ 开发者实战 | 基于 OpenVINO™ 和 LangChain 构建 RAG 问答系统➡️ 开发者实战 | 如何利用低比特量化技术进一步提升大模型推理性能➡️ 开发者实战 | 介绍OpenVINO™ 2023.1:在边缘端赋能生成式AI➡️ 基于 ChatGLM2 和 OpenVINO™ 打造中文聊天助手➡️ 基于 Llama2 和 OpenVINO™ 打造聊天机器人➡️ OpenVINO™ DevCon 2023重磅回归!英特尔以创新产品激发开发者无限潜能➡️ 5周年更新 | OpenVINO™  2023.0,让AI部署和加速更容易➡️ OpenVINO™5周年重头戏!2023.0版本持续升级AI部署和加速性能➡️ OpenVINO™2023.0实战 | 在 LabVIEW 中部署 YOLOv8 目标检测模型➡️ 开发者实战系列资源包来啦!➡️ 以AI作画,祝她节日快乐;简单三步,OpenVINO™ 助你轻松体验AIGC
  1. 扫描下方二维码立即体验 
  2. OpenVINO™ 工具套件 2023.3

点击 阅读原文 立即体验OpenVINO™ 2023.3

879a50220bc91700c786ee0307c46677.png

文章这么精彩,你有没有“在看”?

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/839852
推荐阅读
相关标签
  

闽ICP备14008679号