Vitis AI 概述
AMD Vitis™ AI 开发环境可在 AMD 硬件平台上加速 AI 推断,包括边缘器件和 AMD Versal™ 加速器卡。这一综合性框架包括最优化 IP 核、多用途的工具、功能强大的库、多元化的模型和直观的设计示例。Vitis AI 以高效和易用性为核心,使其得以在 AMD SoC
和自适应 SoC 上成功解锁 AI 加速的全部潜能。Vitis AI 开发环境将底层可编程逻辑的繁复细节加以抽象化,从而帮助不具备广泛 FPGA 知识的用户轻松开发深度学习推断应用。
![vitis ai.png](//www.obk20.com/file1/web2/M00/A9/FB/wKgZomUsRmWAHKAoAAMF8j3V3ao604.png)
Vitis AI 集成开发环境
这里简要介绍一下Vitis AI各部分的具体作用
Vitis AI Model Zoo 是经过微调的精选深度学习模型集合。
Vitis AI Optimizer 可以当作是优秀的剪枝工具
Vitis AI Compiler 可将 AI 模型映射到高效的指令集和数据流模型。它还可尽可能执行复杂的最优化操作,例如,层融合、指令调度和复用片上存储器。
Vitis AI Profiler可用于对 AI 应用进行性能分析和可视化,以在不同器件之间查找瓶颈并分配计算资源。
Vitis AI Library 是一组高层次库和 API,专为利用 DPU 高效执行
AI 推断而设计
Vitis AI Runtime是各种应用可借助 Vitis AI Runtime来访问统一的高层次运行时 API
Vitis AI Docker则是使用容器的威廉希尔官方网站
来管理各个AI开发环境。
首先需要去官网下载petalinux的镜像(https://china.xilinx.com/member/forms/download/design-license-xef.html?filename=xilinx-kv260-dpu-v2022.2-v3.0.0.img.gz)这是目前最新的DPU镜像
然后参考镜像烧录流程进行烧写,推荐使用32g的SD卡
![微信截图_20231014205035.png](//www.obk20.com/file1/web2/M00/A8/3A/wKgaomUsR3qAVRr0AALI1k84pUY194.png)
![微信截图_20231014205816.png](//www.obk20.com/file1/web2/M00/A9/FB/wKgZomUsR5CAFhBkABM6TiL9eiA683.png)
烧写完成后,上电,连网
![微信截图_20231014220054.png](//www.obk20.com/file1/web2/M00/A8/3A/wKgaomUsR7mAK01iAAHAljTQiZE677.png)
可以看到开发板的dashboard也可以进行访问,查看开发板各种资源占用情况
![微信截图_20231014220157.png](//www.obk20.com/file1/web2/M00/A9/FB/wKgZomUsSCOACXHYAAmZPqDWwhc523.png)
下载必要的图片包,并且创建文件夹将下载的文件解压进去
cd ~
wget https://china.xilinx.com/bin/public/openDownload?filename=vitis_ai_runtime_r3.0.0_image_video.tar.gz -O vitis_ai_runtime_r3.0.0_image_video.tar.gz
mkdir vitis_ai_runtime_r3.0.0_image_video
tar -C vitis_ai_runtime_r3.0.0_image_video
-xzvf vitis_ai_runtime_r3.0.0_image_video.tar.gz
然后进入resnet50文件夹,并运行resnet50示例程序:
cd ~/Vitis-AI/examples/vai_runtime/resnet50
./resnet50
/usr/share/vitis_ai_library/models/resnet50/resnet50.xmodel
创建图片文件夹,将之前下载解压后的图片文件复制到images中
mkdir -v ../images
cp -vr ~/vitis_ai_runtime_r3.0.0_image_video/images/*
../images/
在image中重新上传自己下载的图片这里我用的是z-modem的方法
![微信截图_20231014232601.png](//www.obk20.com/file1/web2/M00/A9/FB/wKgZomUsSFaAR9vCAAQ32oCv-Lo342.png)
上传自己下载的老虎照片并移除原本照片后
![微信截图_20231014232700.png](//www.obk20.com/file1/web2/M00/A9/FB/wKgZomUsSWCAUtmjAAF1doliNtY349.png)
![微信截图_20231014232718.png](//www.obk20.com/file1/web2/M00/A8/3A/wKgaomUsSWaAMYB5AAFwqP8uQjA897.png)
![tiger download.jpeg](//www.obk20.com/file1/web2/M00/A9/FB/wKgZomUsSGWANXijAAERb4hH8V870.jpeg)
运行显示老虎识别的情况。
![微信截图_20231014232818.png](//www.obk20.com/file1/web2/M00/A8/3A/wKgaomUsSKKAJp1FAAeROFQbKyE110.png)
总结:vitis ai工具链十分完善,且ai model zoo中AMD优化过的模型非常多,即拿即用非常方便,不愧是号称1小时上手的开发板,但是具体定制性如何,部署自己的模型在量化剪枝过程中有什么问题还,需要后续花时间摸索。