Vitis AI library中的模型在自定义单板使用

本文介绍了如何在Vitis AI框架下,使用已有的DPU Kernel,并通过修改配置文件和编译模型来适配自定义硬件板。详细步骤包括获取DPU Kernel、修改配置文件、编译模型以及进行Vitis编译,涉及Caffe模型的编译和DPU的集成。最后,将编译生成的.elf文件整合进Vitis工程,以生成可执行文件。
摘要由CSDN通过智能技术生成

在Vitis AI设计中,构建模型是其中非常重要的一步。如果使用调用的模型库呢?

获取DPU Kernel

  • 下载Vitis AI
git clone https://github.com/Xilinx/Vitis-AI.git
git checkout v1.2

修改DPU配置文件

将Vitis-AI中的DPU-TRD文件夹拷贝到工程目录中,DPU-TRD文件夹中修改dpu_conf.vh和prj_config。

  • 将dpu_conf.vh中做如下修改:
$cd DPU-TRD/prj/Vitis/
$vim dpu_conf.vh
//`define B4096
`define B1024

file

  • 修改prj_config文件:

file

$cd DPU-TRD/prj/Vitis/config_file
$vim prj_config
[clock]

id=0:DPUCZDX8G_1.aclk
id=1:DPUCZDX8G_1.ap_clk_2

[connectivity]

sp=DPUCZDX8G_1.M_AXI_GP0:HPC0
sp=DPUCZDX8G_1.M_AXI_HP0:HP0
sp=DPUCZDX8G_1.M_AXI_HP2:HP1

[advanced]
misc=:solution_name=link

[vivado]
prop=run.impl_1.strategy=Performance_Explore
#param=place.runPartPlacer=0

  • 生成.xo文件
make binary_container_1/dpu.xo DEVICE=fzu3_custom

编译模型

  • 下载模型
$cd Vitis-AI/AI-Model-Zoo
$source ./get_model.sh

下载文件all_models_1.2.zip,解压模型

$unzip all_models_1.2.zip
  • 运行docker
$cd Vitis-AI
$./docker_run.sh xilinx/vitis-ai:1.2.82
$conda activate vitis-ai-caffe

file

进入Tool-Example文件夹,新建modelzoo文件夹,将system.hwh拷贝到modelzoo。

$cd Tool-Example
$mkdir modelzoo
$cd modelzoo
$cp ../system.hwh ./
  • 生成.dcf文件
$dlet -f system.hwh
  • 修改.json文件

将arch.json文件拷贝到modelzoo。

Caffe

  • 创建编译脚本

新建编译输出文件夹compiled_output,新建脚本文件complie_cf_model.sh,内容如下:

model_name=$1
modelzoo_name=$2
vai_c_caffe \
--prototxt ../../AI-Model-Zoo/all_models_1.2/caffe/${modelzoo_name}/quantized/Edge/deploy.prototxt \
--caffemodel ../../AI-Model-Zoo/all_models_1.2/caffe/${modelzoo_name}/quantized/Edge/deploy.caffemodel \
--arch ./arch.json \
--output_dir ./compiled_output/${modelzoo_name} \
--net_name ${model_name} \
--options "{'mode': 'normal'}"
  • 运行编译脚本

resnet50

source ./compile_cf_model.sh resnet50 cf_resnet50_imagenet_244_244_7.7G_1.2

densebox

source ./compile_cf_model.sh densebox cf_densebox_wider_360_640_1.11G_1.2
  • 退出docker

Vitis编译

  • 将生成的.elf文件拷贝到vitis工程中
  • 重新编译vitis工程,生成包含网络模型的可执行文件。

本文由博客一文多发平台 OpenWrite 发布!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硬码农二毛哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值