近年来,深度学习框架的快速发展使得人工智能应用领域取得了巨大的进步。其中,Caffe 框架以其简单易用、高效快速的特点受到了广泛关注和应用。然而,随着 AMD Vitis™ AI 2.0 的推出,Caffe 框架的支持也宣告结束,这引起了许多开发者的关注和讨论。
本文将讲述使用 Caffe 模型 + DPU 进行实时人脸检测:Vitis AI 3.0 的非官方支持流程。
Caffe 框架的简介
首先,让我们简要介绍一下 Caffe 框架。Caffe 是由伯克利视觉与学习中心(Berkeley Vision and Learning Center)开发的一个深度学习框架,以其速度快、配置简单、易于扩展等特点而广受欢迎。其采用了 C++ 语言编写,支持命令行界面和 Python 接口,使得用户可以轻松地定义、训练和部署各种深度学习模型。
AMD Vitis™ AI 2.0 之后对 Caffe 的支持终止
然而,随着 AMD Vitis™ AI 2.0 推出,Caffe 框架的支持也随之终止。这一决定引起了广泛的讨论和反响。一些开发者表示担忧,担心他们之前基于 Caffe 框架开发的项目将受到影响,而另一些人则认为这是迈向更先进、更高效的深度学习框架的必然选择。
Model Zoo 中的训练好的模型
尽管 Caffe 框架的支持终止了,但在其官方的 Model Zoo 中仍然存在大量经过训练的模型,涵盖了各种各样的应用场景,如图像分类、目标检测、语义分割等。这些预训练的模型可以为开发者提供便利,节省大量的训练时间和资源,使得他们能够更快地搭建和部署深度学习模型。
AMD Vitis™ AI 3.0 对 Caffe 模型的非官方支持
尽管在 AMD Vitis™ AI 3.0 中官方已经不再支持 Caffe 框架,但开发者仍然可以继续使用这些 Caffe 模型。虽然这并不是官方支持的流程,但通过一些额外的工作,开发者仍然可以成功地在 Vitis AI 3.0 中调用和部署这些模型。
通过人脸检测实验展示如何调用 Caffe 模型
为了更具体地展示如何在 AMD Vitis™ AI 3.0 中调用 Caffe 模型,我们将进行一个简单的人脸检测实验。首先,我们需要选择一个合适的 Caffe 模型,如 densebox320 人脸检测模型。然后,我们需要将该模型转换成 Vitis AI 3.0 支持的格式,并对其进行部署和调用。最后,我们可以通过 USB 摄像头输入一张人脸图像,观察模型的输出结果,验证其在人脸检测任务上的性能和准确性。
在代码中我们创建 DPU runner,从摄像头读取图像并用 DPU 进行推理计算,然后进行后处理,并通过 X11 转发画面。
DPU 的调用由 rundensebox 来执行
最后的显示结果如图所示
结语
尽管 Caffe 框架在 AMD Vitis™ AI 2.0 之后的支持已经终止,但在 Vitis AI 3.0 中仍然可以继续使用这些经过训练的 Caffe 模型。通过一些额外的工作和非官方的支持流程,开发者仍然可以成功地调用和部署这些模型,为各种应用场景提供强大的深度学习解决方案。
AMD 自适应 SOC 及 FPGA 中文技术支持社区