基于英特尔独立显卡打造视频 AI 计算盒实现训推一体--下篇
作者:武卓博士 英特尔AI布道师
在《英特尔锐炫™ 显卡+ oneAPI 和 OpenVINO™ 实现英特尔® 视频 AI 计算盒训推一体-上篇》一文中,我们详细介绍基于英特尔独立显卡搭建YOLOv7模型的训练环境,并完成了YOLOv7模型训练,获得了最佳精度的模型权重:runs/train/yolov7_tiny_pothole_fixed_res/weight****>best.pt
本文将继续介绍使用OpenVINO优化并部署已训练好的YOLOv7模型。
使用OpenVINO优化并部署训练好的YOLOv7模型
我们可以进一步使用OpenVINO来优化经过训练的YOLOv7模型,并将其部署到多个英特尔硬件平台,包括英特尔®CPU、集成显卡和独立显卡等。整个部署过程可以通过以下步骤来实现
第一步:检查来自训练模型的推理结果
训练好的模型,推理效果究竟如何?可使用如下命令查看推理效果
1. python -W ignore detect.py --weights ./ runs/train/yolov7_tiny_pothole_fixed_res/weight***est.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')
推理结果如下图所示
第二步:将模型导出为ONNX格式
使用如下命令将训练好的模型导出为onnx格式:
python -W ignore export.py --weights ./ runs/train/yolov7_tiny_pothole_fixed_res/weight***est.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 在独立显卡上运行推理
使用以下命令在Intel dGPU上使用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推理结果可视化,如下图所示
完整的YOLOv7推理代码已开源到:https://github.com/openvinotoolkit/openvino_notebooks/notebooks/226-yolov7-optimization.ipynb
欢迎开发者自行下载使用。
总结:
到此,基于英特尔® 视频 AI 计算盒打造一个从模型训练到优化部署的 AI 训推一体流水线(Train & Inference pipeline)的完整过程已介绍完毕,所有代码已开源到:
https://github.com/zhuo-yoyowz/training-deployment-dGPU
欢迎大家将上述代码克隆到本机并使用,遇到问题也欢迎到我的GitHub Repo上留言。
关于英特尔OpenVINOTM开源工具套件的详细资料,包括其中我们提供的三百多个经验证并优化的预训练模型的详细资料,请您点击https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/overview.html
除此之外,为了方便大家了解并快速掌握OpenVINOTM的使用,我们还提供了一系列开源的Jupyter notebook demo。运行这些notebook,就能快速了解在不同场景下如何利用OpenVINOTM实现一系列、包括计算机视觉、语音及自然语言处理任务。OpenVINOTM notebooks的资源可以在Github这里下载安装:https://github.com/openvinotoolkit/openvino_notebooks 。
通知和免责声明
Intel技术可能需要启用硬件、软件或服务激活。
任何产品或组件都不能绝对安全。
您的成本和结果可能有所不同。
©英特尔公司。Intel、Intel徽标和其他Intel标志是Intel Corporation或其子公司的商标。其他名称和品牌可能被称为他人的财产。