版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章Docker环境搭 安装 验证 安装并运行XilinxVitis-AI 第二章Vitis-AI开发流 DPUKernel的编 动态链接库.so文件的生 在目标板上运行yolov3推断程 第三章基于Keras框架的神经网络训 VOC数据集简 使用VOC数据集训练 第四章调试工 工 (DNNDKAI推断。DNNDKDPUIP核、工具库、运行库与深度神经网络(DNN)Vitis-AIPLDPUIP核,使得在目标板上开DNNDNNPython语DNN开发。器解决方案。Docker将应用程序与该程序的依赖,打包在一个文件里。运行此文件,就会生成用担心环境问题。总体来说,Docker的接口简单,用户可方便地创建和使用容器,把自己的应User:$sudoapt-getremovedockerdocker-enginedocker-ceUser:$sudoapt-getinstallUser:$curl-fsSL/linux/ubuntu/gpg|sudoapt-keyaddUser:$sudoapt-getupdate&&sudoaptinstalldocker-cedocker-ce-clideb[arch=amd64]/linux/ubuntubionicUser:$sudoaptUser:$sudoaptinstalldocker-dockerCtrlCUser:$systemctlstatusUser:$sudosystemctlstartUser:$sudodockerrunhello-User:$sudousermodaGdocker当前用户名User:$newgrpdockerXilinxVitis-AIXilinxRuntimeDockerVitis-AIDockerVitis-AI中开发中很重要的一个组成部来将它部署到本地。而RuntimeDocker将会在后文中用到。Vitis-AIdockerdocker_build_cpu.sh,该脚本会将运行Vitis-AIDocker的相关依赖下载到本地,该过程所花时间较长。User:$Vitis-AIDockerdpu-compiler-docker.sh,运行我们将会介绍在Vitis-AIDocker中进行DPU的配置与编译直至生成动态链接库的流程。User:$./dpu-compiler-Vitis-AI15.2YOLOv3模型参数文件的接收到在开发板上运行python应用程序的全部流程。XilinxVIitis-AI模型文件 DPU15.2Vitis-AIDPU导入该参数信息前,首先需要将其量化,即浮点数定点化。定点化过程中需要输入无需标网络结构可视化。使用Netro工具查看网络结构。User:$sudoapt-getinstallsnapdUser:$sudoapt-getinstallsnapcraftUser:$sudosnapinstallnetronUser:$netronvitis-ai-docker:$condaactivatevitis-ai-dockerdocker命令时用户所在路径被暂时替换为了/workplace,(Calibration
(vitis-ai-tensorflow)docker:$source分析:1_tf_quantize.sh1个输入与3个输出节点。同理还有另外两个输出节点:conv2d_67/convolutionconv2d_75/convolution,在此就不赘述了。可通过图中左上角菜单下的find查找。DPUKernel们提供的与开发板对应的dcf配置文件和json描述文件。jsondcfjson文件即可。json文件中需要输入绝对地址。注意:根目录为workspace/。(vitis-ai-tensorflow)docker:$source会打印DPUkernel(yolov3)的相关信息。User:$dot-Tjpg-okernel_graph.jpgXilinxVitis-AIDebugDPUKernelelf文件的分析工具DDump,具体在后文中会详细讲解。这里我们使用DDump查看elf中yolov3Kernel中包括输入输出接口在内的全部信息。(vitis-ai-tensorflow)docker:$ddump-fdpu_tf_yolov3_voc.elf-elfsoyolov3kernel,只需要python应用程序的驱动即可在目标板上运行神经网络。我们需要启动XilinxRuntimedocker来使用64bitARMGCC交叉编译工具链。在路径User:$./runtime-Runtimedocker启动完成后,在工程目录下的Compile_Tools找到并打开脚本runtime-docker:$source文件yolov3host主机端(PC)的准备工作已经全部完目标板petalinux使用BalenaEtcher将镜像写入SD卡后启动系统(install_package下回到host主机,将所需的Vitis-AIDNNDK工具的安装包vitis-ai_v1.2_dnndk.tar.gz(在我 下)拷贝至目标板上的用户根目录上解压并安装。其中,目标板ipUser:$scpvitis-ai_v1.2_dnndk.tar.gzroot@<目标板(ALINX-BOARD)sh-5.0#tar-xzvfvitis-(ALINX-BOARD)sh-5.0#cdvitis-(ALINX-BOARD)sh-5.0#(ALINX-BOARD)sh-5.0#mkdir-p再次回到host主机端,在工程中找到 在目标板的terminal中使用ifconfig命令自行查询。)User:$scprtf_yolov3_voc_deployroot@<目标板User:$scplibdpumodeltf_yolov3_voc.soroot@<目标板sotf_yolov3_voc_deploypython文件为同一路径。动态链接库,与python运行yolov3的主应用程序(图片输入版本运行yolov3的主应用程序(视频输入版本①.(ALINX-BOARD)sh-5.0#python3②.(ALINX-BOARD)sh-5.0#python3第三章基于KerasVOCPASCALVOC(visualobjectclasses)提供了图像以及标记数据,可用于目标分类、检测、分割PASCALVOC挑战赛及其数据集上推出的。人。如下图所示,所有类别总计共20个种类。
train+trainvalidation数据集都用于神经网络的训练过程。validation数据的主要作用是来验证据的泛化能力很差。所以与其选取20000次的结果,不如选择10000次的结果。EarlyStop,validationvalidation的存放分类好的数据集索引列表文件,比如VOCwin10系统。使用下面命令将
VOCpython
,
(win10Pythonpythonpythonpythonyolo_video.pyinputtest_sample\<测试视频
tensorboard--转换生成.pb接下来需要把网络结构文件.h5转换为.pb文件。.pb文件同样描述了网络结构,但是和前者(freeze,最终Pythonpython库库库libn2cube是DNNDKDPU加载程序的功库libdputils.so是DPU实用库(utilitylibrary)。它封装了各种高度优化的C/CAPI,方便了DPU平台上DL应用程序的开发。DExplorer是为目标板设计的应用工具包,通过它可进行DPU运行模式配置,DNNDK版本显示,DPUDPUDSight是DNNDK性能评估报DPUELF(Host端)分析DPU切换(.hwh)文件Vitis-AIVitis-AI库库库libn2cube是DNNDKDPU加载程序的功DPU驱动程序进行DPU任务规划、DPUruntime库libdputils.so是DPU实用库(utilitylibrary)。它封装了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论