# HOW_to_Use_KV260_Deploy_YOLO_Application **Repository Path**: Shi_Calvin/how_to_use_kv260_deploy_yolo_application ## Basic Information - **Project Name**: HOW_to_Use_KV260_Deploy_YOLO_Application - **Description**: 使用KV260板部署YOLO应用的实践过程 - **Primary Language**: 其他 - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 2 - **Created**: 2024-10-16 - **Last Updated**: 2025-12-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HOW_to_Use_KV260_Deploy_YOLO_application #### 介绍 使用KV260板部署YOLO应用的实践过程 # # KV260部署一个yolo的过程.md # 介绍 ## 目前KV260 AI-model支持 - IVS_XCLASS_YOLOV3 - IVS_XCLASS_FACEDETECT - IVS_XCLASS_CLASSFICATION - IVS_XCLASS_SSD - IVS_XCLASS_REID - IVS_XCLASS_REFINEDET - IVS_XCLASS_TFSSD - IVS_XCLASS_YOLOV2 - IVS_XCLASS_NOTFOUND ## 我的配置 VMware虚拟机 ,Docker Image Version: 1.4.1.978 ,Vitis AI Git Hash: 9f3d6db ,Ubuntu 18.04.6 LTS # # 准备一个模型 ### AI软件工程师负责 - 1. 准备一个训练好的模型 - 这个步骤是普通的AI模型 - 注意事项 - 1: 如果自己训练需要保证环境兼容,已知Vitis AI DOCKER在CUDA11下是有问题的。 可以不用在docker里做编译 - 2: 模型的算子需要被DPU支持 查一下B站文章 - 3: DK模型不能直接使用,它需要被转换,具体转换参考Vitis官方手册和教程 - 2. 训练好模型之后,我们需要去剪枝和量化模型 - 注意事项 - 1: 对于KV260而言,30G左右的模型是能够流畅运行的极限了,所以模型剪枝的越小,系统就越流 畅。如果不剪枝的话,对于YOLO模型来说,就会很慢。 - 3. 需要使用Vitis AI的工具去量化模型 - 注意事项 - 1: Vitis的量化器,效果并不是特别好,可以自己量化一遍再给Vitis量化器来使用。 ### 从量化好的模型转换到Xmodel的文件 - 重要参考工具文献: 1.4 UG1354 Vitis AI Library User Guide - 包含介绍、安装、库和例子、编程实例 - 注意事项: - 不同版本的代码又可能不兼容 - AI library API的框图 ![AI library API] (C:\kv260_SoM\KV260_YOLO\AI library API.png) 1. 对于KV260的example而言,我们使用的是API_1, API_1一般情况下,不知需要Xmodel,还需要其他文件,一般情况是需要protext 和 label.json 。其中,有些文件需要用户自己生成。所以我们在部署YOLO时,也要准备对应文件。 2. 可以从Model Zoo获得对应的量化后的模型。 3. 量化后的模型需要在Vitis AI docker中进行编译。 - /opt/Xilinx/share/vitis_ai_library/models/kv260-smartcam/yolov2-voc/ --yolov2_voc.xmodel --yolov2_voc.prototxt --label.json /opt/Xilinx/share/ivas/smartcam/new_yolov3 --preprocess.json --drawresult.json --aiinference.json