开发者实战 | 英特尔锐炫™ 显卡 + oneAPI 和 OpenVINO™ 实现视频 AI 计算盒训推一体:下篇...

文章介绍了如何使用英特尔®显卡和OpenVINO™工具对YOLOv7模型进行训练,并随后优化模型以部署到各种硬件平台。作者详细展示了模型导出、转换为ONNX和OpenVINO™IR格式,以及在独立显卡上运行推理的过程。
部署运行你感兴趣的模型镜像

点击蓝字

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

作者:武卓博士  英特尔 AI 布道师

outside_default.png

outside_default.png

在《英特尔锐炫 显卡+ oneAPI 和 OpenVINO 实现英特尔® 视频 AI 计算盒训推一体-上篇》一文中,我们详细介绍基于英特尔® 独立显卡搭建 YOLOv7 模型的训练环境,并完成了 YOLOv7 模型训练,获得了最佳精度的模型权重:

runs/train/yolov7_tiny_pothole_fixed_res/weights/best.pt

c4571410479ca0ed26ecca8fb8ed138a.png

本文将继续介绍使用 OpenVINO优化并部署已训练好的 YOLOv7 模型。

outside_default.png

outside_default.png

使用 OpenVINO 优化并部署

训练好的YOLOv7 模型

我们可以进一步使用 OpenVINO 来优化经过训练的 YOLOv7 模型,并将其部署到多个英特尔® 硬件平台,包括英特尔® CPU、集成显卡和独立显卡等。整个部署过程可以通过以下步骤来实现:

检查来自训练模型的推理结果

训练好的模型,推理效果究竟如何?可使用如下命令查看推理效果:

python -W ignore detect.py --weights ./ runs/train/yolov7_tiny_pothole_fixed_res/weights/best.pt --conf 0.25 --img-size 640 --source ../pothole_dataset/images/test/G0026953.jpg

向右滑动查看完整代码

同时,可以利用如下命令打印出推理结果图:

from PIL import Image
# visualize prediction result
Image.open('runs/detect/exp5/G0026953.jpg')

向右滑动查看完整代码

推理结果如下图所示:

01ca24f16fe7ab5cb3ee23f93451c15c.png

►►

将模型导出为 ONNX 格式

使用如下命令将训练好的模型导出为 ONNX 格式:

python -W ignore export.py --weights ./ runs/train/yolov7_tiny_pothole_fixed_res/weights/best.pt --grid

向右滑动查看完整代码

►►►

将模型转换为 OpenVINO IR 格式

使用 model conversion API 将模型转为 OpenVINO™ IR 格式:

from openvino.tools import mo
from openvino.runtime import serialize


model = mo.convert_model('model_trained/best.onnx')
# serialize model for saving IR
serialize(model, 'model_trained/best.xml')

向右滑动查看完整代码

►►►►

利用 OpenVINO runtime 

在独立显卡上运行推理

使用以下命令在英特尔® GPU上使用 OpenVINO Runtime 运行推理,因为我的机器上有一个集成 GPU,所以 OpenVINO 的运行时设备名称需要设置为“GPU.1”。

from openvino.runtime import Core
core = Core()
# read converted model
model = core.read_model('model_trained/best.xml')
# load model on CPU device
compiled_model = core.compile_model(model, 'GPU.1')

向右滑动查看完整代码

利用 226-yolov7-optimization 中定义的前处理及后处理函数,我们可以将 OpenVINO 推理结果可视化,如下图所示:

daaafeac93661f996e3b2c594a250d27.png

完整的YOLOv7推理代码已开源到(请复制链接到浏览器)

https://github.com/openvinotoolkit/openvino_notebooks/notebooks/226-yolov7-optimization.ipynb

欢迎开发者自行下载使用。

outside_default.png

总结

到此,基于英特尔® 视频 AI 计算盒打造一个从模型训练到优化部署的 AI 训推一体流水线(Train & Inference pipeline)的完整过程已介绍完毕,所有代码已开源到(请复制链接到浏览器)

https://github.com/zhuo-yoyowz/training-deployment-dGPU

欢迎大家将上述代码克隆到本机并使用,遇到问题也欢迎到我的 GitHub Repo 上留言。

关于英特尔 OpenVINO 开源工具套件的详细资料,包括其中我们提供的三百多个经验证并优化的预训练模型的详细资料,请您复制以下链接到浏览器或点击阅读原文

https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/overview.html

除此之外,为了方便大家了解并快速掌握 OpenVINO 的使用,我们还提供了一系列开源的 Jupyter notebook demo。运行这些 notebook,就能快速了解在不同场景下如何利用 OpenVINO 实现一系列、包括计算机视觉、语音及自然语言处理任务。OpenVINO™ notebooks 的资源可以在 Github 这里下载安装(请复制链接到浏览器)

https://github.com/openvinotoolkit/openvino_notebooks

英特尔技术可能需要启用硬件、软件或服务激活。

任何产品或组件都不能绝对安全。

您的成本和结果可能有所不同。

OpenVINO™

--END--

你也许想了解(点击蓝字查看)⬇️➡️ 基于 Llama2 和 OpenVINO™ 打造聊天机器人➡️ OpenVINO™ DevCon 2023重磅回归!英特尔以创新产品激发开发者无限潜能➡️ 5周年更新 | OpenVINO™  2023.0,让AI部署和加速更容易➡️ OpenVINO™5周年重头戏!2023.0版本持续升级AI部署和加速性能➡️ OpenVINO™2023.0实战 | 在 LabVIEW 中部署 YOLOv8 目标检测模型➡️ 开发者实战系列资源包来啦!➡️ 以AI作画,祝她节日快乐;简单三步,OpenVINO™ 助你轻松体验AIGC
➡️ 还不知道如何用OpenVINO™作画?点击了解教程。➡️ 几行代码轻松实现对于PaddleOCR的实时推理,快来get!➡️ 使用OpenVINO 在“端—边—云”快速实现高性能人工智能推理➡️ 图片提取文字很神奇?试试三步实现OCR!➡️【Notebook系列第六期】基于Pytorch预训练模型,实现语义分割任务➡️使用OpenVINO™ 预处理API进一步提升YOLOv5推理性能
扫描下方二维码立即体验 
OpenVINO™ 工具套件 2023.0

点击 阅读原文 立即体验OpenVINO 2023.0

003cb2c3e4c664fb75c2ab2ca7ddf270.png

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

您可能感兴趣的与本文相关的镜像

Yolo-v5

Yolo-v5

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值