页面加载中,请稍候
来源:Enclustra 瑞苏盈科发布时间:2022-07-081128浏览
询问 AI
点击上方蓝字,关注我们
工程项目开发的流程在xilinx Vitia之前的FPGA开发都是硬开发,主要是和各种逻辑打交道,熟悉与非门,时钟,总线等,并且通过JTAG下载运行。
随着系统的复杂,以及AI成为广泛应用的模型,vitis AI使得FPGA开发越来越趋向于软件开发,但是这个过程非常不容易,需要同时具有底层硬件的只是,所以知识树的学习曲线非常陡峭。而且,快速迭代的软件,即使是原厂的FAE也会遇到很难重现的问题。因为评测的时间有限,vivado开发流程等都没有很顺利执行下去,所以就集中在vitis AI开发介绍一下过程。
2Vitis是综合硬件加速和训练模型的开发环境,直接调用dpu硬件加速和AI模型,剩下的工作就是通过API接口编程,现有的API只是支持C++和python,在多数情况下,已经是足够了。
参考Vitis AI Library User Guide (xilinx.com) (https://www.xilinx.com/products/design-tools/vitis.html)
首先,需要下载vitis-ai源代码,
git clone --recurse-submodules (https://github.com/Xilinx/Vitis-AI)
然后创建交叉编译的环境,在host主机上编程和调试
cd Vitis-AI/setup/mpsoc/VART./host_cross_compiler_setup.sh
然后这个sdk环境先创建一下
source ~/petalinux_sdk_2021.1/environment-setup-cortexa72-cortexa53-xilinx-linux
进入到独立的sample目录就可以形成可执行文件
cd ~/Vitis-AI/demo/Vitis-AI-Library/samples/classificationbash -x build.sh
在测试的过程中,用多种方式都没有创建sdk文件,所以交叉编译就没有完成。
其实,完全可以直接在开发板上进行板载的开发,这样原生的开发环境,可以最大限度减少环境创建的时间损耗。在原厂影像中,没有找到cc,gcc等编译工具,make的过程显示不能完成。在上一个帖子中,也列举了如何去寻找和发现板载环境,这些确实是没有,但是,这些是可以通过下载到本地,用cmake等源码编译实现,还可以用yum install直接安装ycoto的包文件。
还有一个选择就是python开发,板载python3,使用python包和vart API就可以快速开发python AI代码,参见
Python APIs (xilinx.com)
(https://www.xilinx.com/products/design-tools/vitis.html#tpa1605601589077)
其中最突出的特点就是需要定义一个runner
vart.Runner create_runner(xir.Subgraph subgraph, String mode)
在AI模型载入,输入输出缓存定义好之后,就可以直接启动runnner,这个和其他的开发有所不同,这个是黑盒子,和tensorflow的静态图开发相匹配,具体可以参考源代码分析。
3在AI开发的过程中,其实更多的工作不是上述内容,而是AI的开发和模型的训练。这个就需要使用vitis开发的docker影像。这个包至少18G所以,需要比较大的硬盘,耗时也比较多。


运行docker run cpu就进入了 vitis -ai的docker 环境,

随后就可以开始AI的模型训练等开发过程。
开发板中的resnet就是从Vitis AI训练编译的程序。
长按下方二维码关注我们,
获取更多有趣demo及最新资讯。
新闻来源:Enclustra 瑞苏盈科,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!
2026-07-01

2026-06-09

2026-06-04