色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創作
電子發燒友網>電子資料下載>電子資料>創建自定義Kria KV260加速ML應用程序

創建自定義Kria KV260加速ML應用程序

2023-06-26 | zip | 0.01 MB | 次下載 | 免費

資料介紹

描述

介紹

Xilinx 推出 Kria SOM 令人興奮!KV260 Vision AI 入門套件是用于開發和原型設計加速算法的絕佳平臺,包括但不限于機器學習、計算機視覺信號處理。Kria App Store中有幾個預建的加速應用程序,可以下載并在 KV260 上運行。Xilinx 的智能相機和 NLP-SmartVision 應用程序使用 AR1335 圖像傳感器和 AP1302 ISP(AR1335 傳感器包含在KV260 配件包中,并且是圖像處理應用程序的一個很好的補充)。在測試了一些預構建的應用程序之后,您可能會問,“我如何創建自己的應用程序”。該項目將描述可用于創建用于加速 ML 推理任務的基本設計的步驟。

在我們開始之前,回顧一些 KV260 術語會很有幫助

  • 平臺:用作基礎設計的 Vitis 平臺。定義與片外組件(如圖像傳感器)的物理接口。還定義了加速器時鐘和內存接口。
  • Overlay:加速應用程序的秘方。這是我們添加 ML 加速器(即 DPU)以及我們需要的任何其他加速器的地方。使用術語“覆蓋”是因為我們將這些加速器覆蓋在平臺上。

該項目將為支持 AR1335 傳感器的平臺創建自定義疊加層。

要求

  • KV260 入門套件,帶電源和基本附件包
  • Linux構建機器
  • 葡萄2020.2.2
  • PetaLinux 2020.2.2

項目成立

對于這個項目,我們將從 KV260 BSP 和一些參考設計開始。從那里我們將修改 BSP 和參考設計以創建我們的自定義加速 ML 推理應用程序。

  • 從這里下載KV260 2020.2.2 BSP ,保存到~/Downloads 目錄
  • 在 Linux 構建機器上創建一個項目目錄。以下命令將創建一個名為kv260_ml_accel
mkdir ~/kv260_ml_accel
export PROJ_DIR=~/kv260_ml_accel
  • 使用以下命令從 GitHub克隆示例項目KV260-Vitis
cd $PROJ_DIR
git clone https://github.com/xilinx/kv260-vitis
cd kv260-vitis
git checkout release-2020.2.2_k26
  • Vitis-AI從 GitHub克隆存儲庫。Vitis-AI 存儲庫將用于將深度學習處理單元 (DPU) 添加到設計中。
cd $PROJ_DIR
git clone https://github.com/xilinx/Vitis-AI
cd Vitis-AI
git checkout v1.3

注意:DPU 是位于 KV260 SOM 上的 Xilinx Zynq UltraScale+ MPSoC 芯片ARM A53 處理器復合體的軟 CNN 協處理器。

  • 從 GitHub 克隆 Vitis_??Libraries 存儲庫。Vitis Vision 庫將用于添加 ML 預處理加速器(圖像大小調整)
cd $PROJ_DIR
git clone https://github.com/Xilinx/Vitis_Libraries
cd Vitis_Libraries
git checkout 2020.2
  • 獲取 Vitis 和 PetaLinux 環境設置腳本。如果關閉這些腳本的源終端,則需要在新終端中重復此步驟
source /2020.2/settings64.sh
source /2020.2.2/settings.sh

注意:前面命令中顯示的設置腳本位于工具安裝目錄中,例如 Vitis 可能安裝在/tools/Xilinx/Vitis/2020.2您機器上的目錄中。

  • 下載 KV260 板文件(如果尚未完成)。以下命令中顯示的腳本將在$XILINX_VIVADO/data/boards/board_files目錄中安裝板文件。
cd $PROJ_DIR
wget https://www.hackster.io/code_files/543211/download -O get_kv260_boards.sh
dos2unix get_kv260_boards.sh
sh ./get_kv260_boards.sh

創建平臺

NLP-SmartVision 平臺提供基本時鐘(100、300、600 MHz)和內存連接,用于向 PL 添加加速器。該平臺還提供與 AR1335 和 AP1302 接口所需的捕獲管道。這將是該項目的基礎平臺。

修改平臺以刪除捕獲管道中的標量 IP。如果需要執行傳感器數據縮放,可以使用 AP1302 ISP 完成。此修改對于適合 KV260 設備 URAM 資源是必要的。

cd $PROJ_DIR/kv260-vitis/platforms/vivado/kv260_ispMipiRx_DP/scripts
cp config_bd.tcl config_bd.tcl.orig
sed -i 's/C_TOPOLOGY {0}/C_TOPOLOGY {3}/g' config_bd.tcl
sed -i '132i\ \ \ CONFIG.C_CSC_ENABLE_WINDOW {false} \\' config_bd.tcl
sed -i 's/v_proc_ss_0\/aclk_axis/v_proc_ss_0\/aclk/g' config_bd.tcl
sed -i 's/\[get_bd_pins v_proc_ss_0\/aclk_ctrl\]//g' config_bd.tcl
sed -i 's/v_proc_ss_0\/aresetn_ctrl/v_proc_ss_0\/aresetn/g' config_bd.tcl

以下命令將構建平臺:

cd $PROJ_DIR/kv260-vitis
make platform PFM=kv260_ispMipiRx_DP

平臺構建完成后,輸出將位于$PROJ_DIR/kv260-vitis/platforms/xilinx_kv260_ispMipiRx_DP_202022_1

編譯 ML 預處理加速器

在大多數情況下,傳感器數據需要先降低分辨率,然后才能執行 ML 推理。輸入捕獲管道設置為捕獲最大 4K 的圖像大小,但大多數 ML 網絡不支持這么大的輸入大小。為了在 ML 推理之前縮放圖像,我們將使用 Vitis Vision 庫將圖像縮放器 IP 添加到 PL 作為加速器。

  • 修改默認調整大小加速器配置以支持彩色 (RGB) 圖像
cd $PROJ_DIR/Vitis_Libraries/vision/L2/examples/resize
sed -i 's/RGB 0/RGB 1/g' build/xf_config_params.h
sed -i 's/GRAY 1/GRAY 0/g' build/xf_config_params.h
  • 使用 Vitis v++ 命令編譯 Vitis Vision 庫調整大小功能
v++ -c -t hw xf_resize_accel.cpp \
--platform $PROJ_DIR/kv260-vitis/platforms/xilinx_kv260_ispMipiRx_DP_202022_1/kv260_ispMipiRx_DP.xpfm \
--kernel_frequency 300 \
-I../../../L1/include \
-I./build \
--save-temps \
-k resize_accel \
-o resize_accel.xo
  • 編譯過程的輸出是 Xilinx 目標文件 ( resize_accel.xo),這是我們將加速器添加到我們的 PL 覆蓋層所需要的。

創建 ML 推理加速疊加層

我們將使用 Vitis-AI DPU-TRD 將 DPU IP 添加到設計中。DPU 是用于加速 CNN 推理任務的 IP。對于這個項目,我們將使用最大的 DPU——B4096 DPU。

  • 導航到 DPU-TRD 目錄
cd $PROJ_DIR/Vitis-AI/dsa/DPU-TRD/prj/Vitis
  • 更新dpu_conf.vh文件以使用 UltraRAM。以下sed命令將更新dpu_conf.vh文件以啟用 UltraRAM
sed -i 's/^`define URAM_DISABLE/`define URAM_ENABLE/' dpu_conf.vh
  • 使用配置文件定義 DPU 時鐘和內存連接。這個項目提供了一個配置文件。以下命令將下載配置文件并將其放置在 DPU-TRD 項目中。
cd config_file
mv prj_config prj_config.orig
wget https://www.hackster.io/code_files/542906/download -O prj_config
cd ..
  • 修改 DPU-TRD 項目 Makefile 以包含預處理加速器 ( resize_accel.xo)
sed -i '53i kernel_xo += ${PROJ_DIR}/Vitis_Libraries/vision/L2/examples/resize/resize_accel.xo' Makefile
  • 使用以下命令構建 DPU-TRD 以將 DPU 和調整大小加速器添加到平臺
export SDX_PLATFORM=$PROJ_DIR/kv260-vitis/platforms/xilinx_kv260_ispMipiRx_DP_202022_1/kv260_ispMipiRx_DP.xpfm
make binary_container_1/dpu.xclbin KERNEL=DPU DEVICE=kv260

構建完成后,您將看到位于目錄中的dpu.xclbin文件$PROJ_DIR/Vitis-AI/dsa/DPU-TRD/prj/Vitis/binary_container_1和位于$PROJ_DIR/Vitis-AI/dsa/DPU-TRD/prj/Vitis/binary_container_1/link/vivado/vpl/prj/prj.runs/impl_1目錄中的位文件。

  • 將構建文件復制到工作目錄
mkdir -p $PROJ_DIR/overlay_files
cd binary_container_1
cp dpu.xclbin $PROJ_DIR/overlay_files
cp link/vivado/vpl/prj/prj.runs/impl_1/*.bit $PROJ_DIR/overlay_files/kv260-ml-accel.bit

從 BSP 創建 PetaLinux 項目

在項目設置部分,我們從 Xilinx 下載站點下載了 BSP。我們將使用下載的 BSP 創建 PetaLinux 項目。以下命令將從 BSP 創建項目。

cd $PROJ_DIR
petalinux-create -t project -s ~/Downloads/xilinx-k26-starterkit-v2020.2.2-final.bsp 
cd xilinx-k26-starterkit-2020.2.2
echo 'BOARD_VARIANT = "kv"' >>  project-spec/meta-user/conf/petalinuxbsp.conf
petalinux-config --silentconfig

將包含 DPU 的自定義 PL 覆蓋添加到 PetaLinux 項目

自定義 PL 覆蓋將被打包為 PetaLinux 項目中的應用程序,并添加到目標根文件系統。這允許 xmutil 實用程序在 Linux 在 KV260 上啟動后將自定義覆蓋加載為“加速應用程序”。

  • 從 GitHub 下載 kv260_ispMipiRx_DP 平臺的平臺設備樹定義
wget https://raw.githubusercontent.com/Xilinx/kv260-firmware/release-2020.2.2_k26/nlp-smartvision/kv260-nlp-smartvision.dtsi -O $PROJ_DIR/overlay_files/kv260-ml-accel.dtsi
  • 修改設備樹以更改顏色空間轉換塊的驅動程序(需要,因為我們修改了平臺以刪除縮放功能)
cd $PROJ_DIR/overlay_files
sed -i 's/scaler-2.2/csc/g' kv260-ml-accel.dtsi
sed -i 's/clock-names = "aclk_axis", "aclk_ctrl"/clock-names = "aclk"/g' kv260-ml-accel.dtsi
  • 從設備樹中刪除標量特定屬性,因為我們從捕獲管道中刪除了縮放功能(注意:如果需要,AP1302 ISP 仍然能夠執行縮放)。
sed -i 's/clocks = <\&misc_clk_2>, <\&misc_clk_2>/clocks = <\&misc_clk_2>/g' kv260-ml-accel.dtsi
sed -i '/xlnx,num-hori-taps = <6>;/d' kv260-ml-accel.dtsi
sed -i '/xlnx,num-vert-taps = <6>;/d' kv260-ml-accel.dtsi
  • 創建 PetaLinux 應用配方。這將創建將我們的自定義覆蓋添加到 PetaLinux 項目所需的文件/目錄。
cd $PROJ_DIR/xilinx-k26-starterkit-2020.2.2
petalinux-create -t apps --template fpgamanager --name kv260-ml-accel --enable --srcuri "$PROJ_DIR/overlay_files/kv260-ml-accel.bit $PROJ_DIR/overlay_files/kv260-ml-accel.dtsi $PROJ_DIR/overlay_files/dpu.xclbin"

該應用程序將在中創建$PROJ_DIR/xilinx-k26-starterkit-2020.2.2/project-spec/meta-user/recipes-apps/kv260-ml-accel.如果您需要更新比特流、設備樹或 xclbin,則只需替換位于該目錄中的文件即可。但是,請確保保留相同的名稱,因為 .bb 文件正在尋找特定的名稱。

創建配方添加配套軟件包

向項目添加額外的軟件包將創建一個目標根文件系統,其中包含用于 ML 推理的必要庫。這些庫包括 Vitis-AI 和 OpenCV 以及其他各種實用程序。此外,還有用于編程 AP1302 ISP 的固件文件也需要添加到項目中。

以下命令會將包添加到項目中:

mkdir -p project-spec/meta-user/recipes-core/packagegroups

echo '
DESCRIPTION = "KV260 ML inference app related packages"

inherit packagegroup

KV260_ML_ACCEL_PACKAGES = " \
      ap1302-ar1335-single-firmware \
      dnf \
      e2fsprogs-resize2fs \
      parted \
      resize-part \
      packagegroup-petalinux-vitisai \
      packagegroup-petalinux-vitisai-dev \
      packagegroup-petalinux-gstreamer \      
      cmake \
      libgcc \
      gcc-symlinks \
      g++-symlinks \
      binutils \
      xrt \
      xrt-dev \
      zocl \
      opencl-clhpp-dev \
      opencl-headers-dev \
      packagegroup-petalinux-opencv \
      packagegroup-petalinux-opencv-dev \
      packagegroup-petalinux-v4lutils  \
      "

RDEPENDS_${PN} = "${KV260_ML_ACCEL_PACKAGES}"

COMPATIBLE_MACHINE = "^$"
COMPATIBLE_MACHINE_k26-kv = "${MACHINE}"
PACKAGE_ARCH = "${BOARDVARIANT_ARCH}"

' > project-spec/meta-user/recipes-core/packagegroups/packagegroup-kv260-ml-accel.bb
  • 將自定義包組添加到根文件系統配置
echo "CONFIG_packagegroup-kv260-ml-accel" >> project-spec/meta-user/conf/user-rootfsconfig
echo "CONFIG_packagegroup-kv260-ml-accel=y" >> project-spec/configs/rootfs_config

構建 PetaLinux 項目并創建 SD 卡 wic 映像

以下命令將構建 PetaLinux 項目,然后將輸出文件打包為 wic 映像,可以將其寫入 SD 卡。

  • 構建項目
petalinux-build
  • 生成wic鏡像文件
petalinux-package --wic --bootfiles "ramdisk.cpio.gz.u-boot boot.scr Image system.dtb"

將 wic 映像寫入 SD 卡

可以使用 BalenaEtcher 等映像實用程序或在 Linux 上使用命令將 wic 映像文件寫入 SD 卡dd可以在 Linux 機器上使用以下命令將 wic 映像寫入 SD 卡。在繼續之前,請務必閱讀以下免責聲明:

pYYBAGPjNbiAEtm3AADMxsAGnMI463.png
?
  • 將 SD 卡映像寫入空白 SD 卡。以下命令可用于使用 Linux 寫入 SD 卡映像:
sudo dd if=images/linux/petalinux-sdimage.wic of=/dev/sdstatus=progress

注意:上面提到的 SD 卡/dev/sd對于您的系統將是唯一的。您需要將 替換為sd適合您系統的驅動器映射。例如,sd可能等于sda、sdbsdc等,具體取決于您的系統如何枚舉 SD 卡設備。確保在of=上面的參數中指定的名稱是設備名稱,而不僅僅是一個分區(即of=/dev/sd正確,但of=dev/sd1不正確)。

  • 當 SD 卡寫入過程完成后,您可以使用以下命令彈出設備
sudo eject /dev/sd

注意:上一步中關于 SD 卡設備枚舉的說明也適用于此步驟。

設置 KV260

KV260 應按照位于https://www.xilinx.com/products/som/kria/kv260-vision-starter-kit/kv260-getting-started/connecting-everything.html的入門指南中的描述進行連接

poYBAGPjNbqAVmuFAAAy0gNVA3Q321.png
?

啟動 KV260

將上一節鏡像中的micro-SD卡插入KV260 micro-SD卡槽,給板子上電。該板應該開始啟動,完成后您將看到登錄提示。使用用戶名“petalinux”登錄,然后根據提示更改密碼。有關串行端口控制臺示例,請參見下圖。

poYBAGPjNcOAcPVDAABGlaXxCKE022.png
KV260登錄提示
?

從 Xilinx Vitis-AI Model Zoo 下載預編譯的 DenseBox 人臉檢測模型

Xilinx Vitis-AI Model Zoo 具有針對 B4096 DPU 架構的預編譯模型。我們正在創建的示例應用程序使用 DenseBox 人臉檢測模型。以下命令將下載預訓練和預編譯的模型,然后將其安裝在 KV260 根文件系統中。請在 KV260 上執行以下命令。

cd /home/petalinux
wget https://www.xilinx.com/bin/public/openDownload?filename=densebox_640_360-zcu102_zcu104-r1.3.0.tar.gz -O densebox_640_360-zcu102_zcu104-r1.3.0.tar.gz
sudo mkdir -p /usr/share/vitis_ai_library/models

提取模型:

sudo tar -xvzf densebox_640_360-zcu102_zcu104-r1.3.0.tar.gz -C /usr/share/vitis_ai_library/models

下載示例應用程序代碼

以下命令將下載并提取示例應用程序代碼

wget https://hacksterio.s3.amazonaws.com/uploads/attachments/1393631/face_detect_px1rBmdftj.zip -O face_detect.zip
unzip face_detect.zip

示例應用程序代碼使用編譯 ML 預處理加速器部分中創建的硬件加速器執行圖像縮放。DenseBox 人臉檢測模型的輸入層大小為 640x360,但捕獲分辨率為 1920x1080。調用硬件加速器以使用 OpenCL API 調整圖像大小。硬件加速器管理由頭文件中定義的類處理。resize_accel.hpp

編譯應用程序

在我們編譯應用程序之前,我們必須加載 kv260-ml-accel Kria 應用程序。在 KV260 上執行以下命令將卸載默認應用程序,然后加載 kv260-ml-accel 應用程序。

sudo xmutil unloadapp
sudo xmutil loadapp kv260-ml-accel

加載 kv260-ml-accel 后,您應該在終端中看到以下內容

poYBAGPjNdeAMkl6AAT36roLB3o891.png
kv260-ml-accel 應用加載
?

加載應用程序后,您可能需要按鍵盤上的“返回或輸入”以返回提示。執行以下命令來設置 MIPI 捕獲管道。

cd /home/petalinux/face_detect
./setup_media_pipe.sh

運行腳本后,如果您將 MIPI 攝像頭連接到連接器 J7,您應該會看到類似于以下內容的輸出。

pYYBAGPjNduAMoElAAA7XtYqiMc761.png
?

。該值將需要作為參數傳遞給示例應用程序。

執行以下命令來運行應用程序。您應該會看到 1920x1080 的捕獲圖像以及覆蓋在 HDMI 監視器上的人臉檢測。

cd /home/petalinux/face_detect
./facedetect.exe /dev/video2

請注意,這是一個非常簡單的示例應用程序,并未針對性能進行優化(即它是單線程的)。

image_raVvNmrb91.GIF?auto=compress%2Cformat&gifq=35&w=740&h=555&fit=max
1080p MIPI 攝像頭輸入人臉檢測
?

概括

該項目為 Kria KV260 Vision AI 入門套件創建了自定義機器學習加速應用程序。加速應用程序包括與 B4096 DPU CNN 和圖像縮放加速器的疊加。

我希望你喜歡這個項目。 請關注我,以便及時了解我的最新項目。我正在開展一個項目,該項目描述了如何將此加速應用程序添加到Xilinx Kria KV260 Vision AI 入門套件的認證 Ubuntu 映像中。

更新2/9/2022 - 請查看我的其他項目,該項目使用 KV260 的官方 Canonical Ubuntu 映像 -使用 Xilinx Kria KV260 在 Ubuntu 上輕松進行機器學習


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 男子扒开美女尿口做羞羞的事| 欧美日韩1区| 亚洲AV一宅男色影视| 国产欧美二区综合| 亚洲精品综合在线影院| 九九在线免费视频| 夜里18款禁用的免费B站动漫| 久久99AV无色码人妻蜜柚| porono日本xxx| 日本边添边摸边做边爱边| 国产69精品久久久久乱码| 寻找最美乡村教师颁奖晚会| 韩国g奶空姐| 日日噜噜大屁股熟妇| 国产亚洲精品字幕在线观看| 中国女人逼| 日韩av无码在线直播 | bbwvideos欧美老妇| 日韩免费精品视频| 榴莲黄版无限刷| 动漫美女和男人下载| 亚洲乱码中文字幕久久孕妇黑人| 欧美一区二区三区播放| 国产在线精品亚洲| 荡乳乱公小说| FREECHINESE东北女人真爽| 在线看片成人免费视频| 色99蜜臀AV无码| 欧美激情性AAAAA片欧美| 久久永久影院免费| 国产叼嘿久久精品久久| 在线高清视频不卡无码| 亚洲免费视频网站| 亚洲精品123区| 奇米色偷偷| 久久99re8热在线播放| 国产无遮挡又黄又爽在线视频| 99久久爱看免费观看| 亚洲AV无码国产精品午夜久久 | qovd电影| bl高h肉文|