電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用PYNQ和Vitis AI的智能辦公室熱辦公桌

使用PYNQ和Vitis AI的智能辦公室熱辦公桌

2023-06-29 | zip | 0.03 MB | 次下載 | 免費

資料介紹

描述

介紹

在這個項目中,我將為 Smart Office Hot Desking 安排創(chuàng)建一個應(yīng)用程序。

  • 現(xiàn)代辦公室正在采用“Hot Desking”的概念。以“先到先得”的方式更有效地利用共享空間和辦公桌。然而,面臨的問題是工人可能會浪費更多時間來尋找空置的辦公桌。跟蹤入住率并在預(yù)訂系統(tǒng)中更新也很乏味。借助基于邊緣的圖像處理能力,我們可以檢測區(qū)域內(nèi)的人員并確定辦公桌是否被占用。

在技??術(shù)方面,我將使用 Ultra96-V2 演示 Vitis AI Model Zoo 和 PYNQ 的 DPU IP 內(nèi)核的編譯流程。

我將從頭開始編譯。從頭開始編譯將使以后修改硬件設(shè)計更容易。我覺得獲取環(huán)境設(shè)置的過程令人困惑,因此我將幫助您逐步記錄它。

PYNQ & Vitis AI 工作流程說明

在我們開始之前,重要的是要知道 Ultra96-V2 使用 Xilinx Zynq UltraScale+? MPSoC。我們可以稱它為基于 ARMFPGA,這意味著既有處理系統(tǒng)(PS)又有可編程邏輯(PL)。

我將使用 PYNQ,我們在其中制作在 PS 上運行的 Python 腳本。使用預(yù)編譯的 PYNQ 覆蓋(或比特流),在 PL 中配置深度學(xué)習(xí)處理器單元 (DPU)。在 PS 上運行的軟件可以使用 DPU 來加速圖像識別任務(wù)。

使用的額外硬件

除了 Ultra96-V2 捆綁包之外,您可能還需要這些附加硬件。

1. USB 攝像頭

  • 我使用了羅技 C170 USB 相機。
  • 通常,大多數(shù)羅技網(wǎng)絡(luò)攝像頭都應(yīng)該開箱即用。其他帶有 Linux 驅(qū)動程序的品牌也應(yīng)該可以使用。

2. 有源 Mini-DisplayPort 適配器

  • 我使用了 PowerColor Active Mini Displayport 到單鏈路 DVI 適配器
  • Ultra96-V2 僅輸出純 DisplayPort 信號,因此需要有源適配器。
  • 為了獲得更好的搜索結(jié)果,您可以嘗試搜索“兼容 ATI Eyefinity”的適配器。眾所周知,Eyefinity 適配器處于活動狀態(tài)。
注意:如果您的預(yù)算有限,則可以不使用這些。例如,可以改用 IP 攝像機。有一些應(yīng)用程序可以將您的智能手機用作 IP 攝像機。如果您使用 USB 或遠程 SSH 進行連接,則可能不需要 mini-DP 適配器。
?
?
?
poYBAGN3LQOAJiUZAAHQMk_6g4c652.jpg
?
1 / 2 ?羅技 C170 USB 攝像頭
?

準備 PYNQ 映像

我們將首先將 PYNQ 加載到板上并進行一些測試。從官網(wǎng)下載Avnet Ultra96-V2 v2.5 PYNQ鏡像。

您可以在社區(qū)板下找到它。

pYYBAGN3LQWAFo1vAABJUe4XPzI440.png
?

根據(jù)這些說明將圖像寫入 SD 卡。

插入你的 SD 卡。在 Ubuntu 上,您將能夠在Disks應(yīng)用程序中看到您的開發(fā)板。在這種情況下,設(shè)備名稱是/dev/sdb。

poYBAGN3LQiAD_BOAABMlBfg6zA509.png
?

卸載分區(qū)

$ umount /dev/sdb

下一個命令的設(shè)備名稱要非常小心,我們將用 PYNQ 映像覆蓋 SD 卡的內(nèi)容。

您可以使用dd命令將 PYNQ 映像寫入 SD 卡。我決定使用顯示進度的dcfldd

$ sudo dcfldd bs=4M if=ultra96v2_v2.5.img of=/dev/sdb
1536 blocks (6144Mb) written.
1574+1 records in
1574+1 records out

啟動 PYNQ

插入 SD 卡并按下電源按鈕啟動板。

poYBAGN3LQuAJXFeAAIZn3ow1f8621.png
?

將 Micro USB 電纜從您的 PC 連接到 Ultra96-V2。您將在 PC 上看到一個新的以太網(wǎng)接口。

您現(xiàn)在可以通過此鏈接在瀏覽器中訪問 Jupyter Notebook http://192.168.2.1:9090

如果升級為密碼,則為“xilinx”。

poYBAGN3LQ2APBFLAAAO8YdTUjo925.png
?

連接到 WiFi

我們需要將開發(fā)板連接到 Wifi,因為我們將下載一些東西。如果您有 USB 轉(zhuǎn)以太網(wǎng)適配器,您也可以使用它并跳過本節(jié)。

有一個帶有腳本的 Jupyter Notebook 可以幫助您連接到 Wifi。導(dǎo)航到notebooks/common/wifi.ipynb,您可以從這里將腳本修改為您自己的 Wifi 憑據(jù)。

pYYBAGN3LRGAWnYAAAFSmoF4OYY591.png
?

或者,如果您熟悉 Linux 系統(tǒng),也可以發(fā)出以下命令。

# Scan Wifi
$ ifconfig wlan0 up
$ iwlist wlan0 scan

# Connect to WEP access point
$ iwconfig wlan0 essid "YOUR_SSID_NAME" key s:YOUR_PASSWORD

# Connect to WPA access point
$ wpa_passphrase YOUR_SSID_NAME YOUR_PASSWORD > /etc/wpa_supplicant.conf
$ sudo wpa_supplicant -c /etc/wpa_supplicant.conf -i wlan0 -B

從這里我們可以從 Web 界面打開一個新終端。

poYBAGN3LRSASQWrAABUd7Ew7pk896.png
?

使用 Vitis AI 升級到最新的 PYNQ

在接下來的步驟中,我們將在終端中發(fā)出一些命令來下載和安裝大量的包。估計需要1小時。

我建議安裝 USB 風(fēng)扇或任何冷卻裝置,因為 Ultra96-V2 會變得非常燙手。當(dāng)它變熱時,處理器將開始熱調(diào)節(jié)并減慢進程。

?
?
?
pYYBAGN3LRmAZD8fAAGBeDX8RNI657.jpg
?
1 / 2
?

從 Jupyter Notebooks 打開終端。

從 Github 存儲庫下載并編譯 Vitis AI PYNQ DPU。這是使用 Vitis-AI 升級 PYNQ 的步驟(可能需要大約一個小時才能完成):

$ git clone --recursive --shallow-submodules https://github.com/Xilinx/DPU-PYNQ.git
$ cd DPU-PYNQ/upgrade
$ make

安裝pynq-dpu python包

pip3 install pynq-dpu

將 pynq-dpu 筆記本下載到您的主文件夾中

cd $PYNQ_JUPYTER_NOTEBOOKS
pynq get-notebooks pynq-dpu -p .

測試 USB 網(wǎng)絡(luò)攝像頭功能

連接您的 USB 網(wǎng)絡(luò)攝像頭并測試功能。

poYBAGN3LQOAJiUZAAHQMk_6g4c652.jpg
?

這里我使用的是 Logitech C170,它是由 PYNQ 自動檢測到的。您可以使用此命令確認這一點。

$ lsusb
Bus 001 Device 004: ID 046d:082b Logitech, Inc. Webcam C170

在 Jupyter 中,打開位于./notebooks/common/usb_webcam.ipynb 的筆記本,您可以運行它來查看您的網(wǎng)絡(luò)攝像頭是否正常工作。

pYYBAGN3LR6AYL6JAAEK5LzOhB0194.png
?

現(xiàn)在我們已經(jīng)驗證了該板功能齊全。現(xiàn)在我們可以編譯來自 Vitis AI Zoo 的 PYNQ DPU 圖像和模型。

準備編譯環(huán)境

我們需要安裝 Xilinx Vitis 和 Xilinx Runtime (XRT) 版本 2020.1。對于 Vitis 和 XRT 2020.1,支持的最新操作系統(tǒng)是 Ubuntu 18.04.2 LTS。

不支持 Ubuntu 20.04,我無法成功安裝。因此,我在虛擬機中安裝了所有東西。

poYBAGN3LSKAY9rgAAEZ6dXi-WY072.png
虛擬機上的 Ubuntu 18.04.02 LTS
?

在此鏈接下載 Xilinx 運行時 (XRT) 的 .deb 文件

pYYBAGN3LSSAH6nXAAARwqMpHF4516.png
?

使用此命令安裝它。

sudo apt install ./xrt_202010.2.6.655_18.04-amd64-xrt.deb

接下來,下載將安裝 Vitis 2020.1 的 Xilinx Unified Web 安裝程序。您需要注冊一個 Xilinx 帳戶。按照本網(wǎng)站上的說明進行操作

https://www.xilinx.com/html_docs/xilinx2020_1/vitis_??doc/juk1557377661419.html

將您的 swappiness 設(shè)置為較低的值也很有用,因為構(gòu)建過程使用大量 RAM。它告訴操作系統(tǒng)在換出到硬盤之前使用更多的 RAM。

要更改系統(tǒng) swappiness 值,請以 root 身份打開 /etc/sysctl.conf

sudo gedit /etc/sysctl.con

然后,通過添加此行來更改 swappiness。我選擇使用值 1。這意味著系統(tǒng)將使用多達 99% 的 RAM(剩余 1%),然后再將其交換到硬盤。

poYBAGN3LSmAZ18aAACkbDEYR5c576.png
?

應(yīng)用更改。

sudo sysctl -p
pYYBAGN3LSuADOI1AAA11LRwIiM164.png
?

現(xiàn)在我們準備編譯...

為 Ultra96-V2 編譯 DPU-PYNQ

我們將密切參考本指南:

首先,從 Xilinx DPU-PYNQ 存儲庫中克隆構(gòu)建文件

git clone --recursive --shallow-submodules https://github.com/Xilinx/DPU-PYNQ.git
cd DPU-PYNQ/boards

我們必須對構(gòu)建文件進行一些更改,因為最初是在 Vitis 2019.2 中設(shè)計的,但現(xiàn)在我們正在使用更新的版本進行編譯。

boards文件夾中,編輯check_env.sh

poYBAGN3LS6ATSkUAAAvJIXbkrc693.png
?

搜索2019.2,改成2020.1

poYBAGN3LTCAIhwcAAA2fcD-Gzw382.png
?

也去/vitis-ai-git/DPU-TRD/dpu_ip/dpu_eu_v3_2_0編輯component.xml

poYBAGN3LTKAWL8wAAA8GOm5WNo445.png
?

搜索2019.2,改成2020.1

pYYBAGN3LTaAOwjtAADZqMVRcgA674.png
?

最后,如果您想對 DPU IP 配置進行任何更改,請轉(zhuǎn)到boards/Ultra96/dpu_conf.vh就我而言,我將內(nèi)存更改為 RAM_USAGE_HIGH。

pYYBAGN3LTmAfCCLAABeTrtYcVY384.png
?

我們準備開始編譯!

打開終端并獲取 Xilinx 工具

source /opt/Xilinx/Vitis/2020.1/settings64.sh
source /opt/xilinx/xrt/setup.sh

開始編譯(注:Ultra96和Ultra96-V2使用相同)

$ make BOARD=Ultra96

一段時間后,構(gòu)建將再次失敗,因為它檢查的是版本2019.2而不是2020.1.

DPU-PYNQ/boards目錄中查找。這是因為有一個名為 的新文件夾PYNQ-derivative-overlays。構(gòu)建腳本克隆了另一個名為PYNQ-derivative-overlays. 它負責(zé)將 DPU IP 置于 PYNQ 基礎(chǔ)覆蓋之上。

轉(zhuǎn)到PYNQ-derivative-overlays/dpu/并編輯dpu.tcl

poYBAGN3LTuAQYjtAAA6Sa1O90g157.png
?

再次從 2019.2 更改為 2020.1

pYYBAGN3LT6AT-JlAACmUK0JrgA692.png
?

然后繼續(xù)制作過程。

$ make BOARD=Ultra96
pYYBAGN3LUGAVzCGAAB1Y8wQAYw623.png
合成過程最長,可能需要一個小時
?

完成后,您將看到以下文件。這些文件是 PYNQ 的比特流覆蓋。

poYBAGN3LUOAG8p_AABMCcnCH4g741.png
?

我會將這些文件上傳到 Juypyter 實例中的一個名為 mymodel 的文件夾中。

在右上角,單擊新建 > 文件夾

pYYBAGN3LUaAWpj6AAAbmCOpwgo728.png
?

然后在文件夾中,單擊上傳并選擇 3 個文件。

poYBAGN3LUiALriHAABeZlumesU168.png
?

從 Vitis Model Zoo 編譯 YoloV3

請注意:模型特定于您編譯的 DPU(即,一種 DPU 配置的模型與另一種不兼容)。例如,這意味著如果您更改編譯時使用的內(nèi)核數(shù)量,您還必須重新編譯模型。

準備 docker 文件

cd DPU-PYNQ/host
mkdir -p docker
cp -rf ../vitis-ai-git/docker_run.sh .
cp -rf ../vitis-ai-git/docker/PROMPT.txt docker
chmod u+x docker_run.sh

安裝泊塢窗

sudo apt install docker -y
sudo groupadd docker
newgrp docker

運行 docker 實例

./docker_run.sh xilinx/vitis-ai-cpu:latest
pYYBAGN3LUqAKGPIAADVUbukWLY145.png
?

進入實例后,您可以編譯模型

cp ../boards/Ultra96/dpu.hwh ./
./compile.sh Ultra96 tf_yolov3_voc_416_416_65.63G_1.1
poYBAGN3LU-AfPAPAABtXCieLI4875.png
?

完成后,您將在目錄中看到模型,dpu_tf_yolov3.elf.

poYBAGN3LVGAd1tCAABfvZ2_FvE626.png
?

也將其上傳到您的 Jupyter 實例。

poYBAGN3LVaAAfuxAAAw5dZx2yM493.png
?

示例筆記本

pynq_dpu/dpu_yolo_v3.ipynb有一個示例,它將測試 YoloV3 模型

現(xiàn)在制作一個副本(File > Make a Copy)并修改代碼以指向包含我們自己編譯的比特流和模型的mymodel文件夾

pYYBAGN3LVmAZTogAABH6-8roL0805.png
?

運行所有單元格(單元格 > 運行全部)

pYYBAGN3LVyAM79jAABgcHwCYvk902.png
?

驗證圖像分類成功

poYBAGN3LV-Aa-oPAADALEFfn3U891.png
?

哇,我們終于準備好申請了!

申請代碼

最后,在所有硬件設(shè)置和測試后,我編寫了軟件來創(chuàng)建我自己的Smart Office Hot Desking 應(yīng)用程序。第二個將利用數(shù)據(jù)顯示基于座位可用性的儀表板。這是我第一次使用 Xilinx 硬件了解邊緣上的 FPGA 和 AI。因此,剛開始時,我在開發(fā)工具和習(xí)慣環(huán)境方面遇到了最大的困難,因此,我盡我所能詳細展示了設(shè)置過程。感謝您一直閱讀到最后!


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

評論

查看更多

下載排行

本周

  1. 1XL4015+LM358恒壓恒流電路圖
  2. 0.38 MB   |  137次下載  |  1 積分
  3. 2elmo直線電機驅(qū)動調(diào)試細則
  4. 4.76 MB   |  9次下載  |  6 積分
  5. 3ADL-GPIB IEEE 488命令集函數(shù)參考手冊
  6. 0.67 MB   |  2次下載  |  5 積分
  7. 4儀表培訓(xùn)課件
  8. 1.82 MB   |  2次下載  |  1 積分
  9. 5DTSD1352導(dǎo)軌式多功能電能表安裝使用說明書 V2.15
  10. 1.19 MB   |  1次下載  |  免費
  11. 6BQ79616-Q1和BQ75614-Q1 GUI用戶指南
  12. 4.51MB   |  1次下載  |  免費
  13. 7INA226EVM用戶指南
  14. 4.7MB   |  1次下載  |  免費
  15. 8INA226EVM修訂版A模型用戶指南和軟件教程
  16. 2.28MB   |  1次下載  |  免費

本月

  1. 1XL4015+LM358恒壓恒流電路圖
  2. 0.38 MB   |  137次下載  |  1 積分
  3. 2新概念模擬電路第四冊信號處理電路電子書免費下載
  4. 10.69 MB  |  60次下載  |  免費
  5. 3800VA純正弦波逆變器的參考設(shè)計
  6. 2.96MB   |  32次下載  |  免費
  7. 4純電動汽?的主要部件及?作原理
  8. 5.76 MB   |  15次下載  |  5 積分
  9. 5新概念模擬電路(電子版全集)
  10. 29.33 MB   |  13次下載  |  免費
  11. 6GP328和GP88S對講機的維修實列資料合集免費下載
  12. 0.03 MB   |  10次下載  |  10 積分
  13. 7Type-C VL160數(shù)據(jù)手冊
  14. 0.92 MB   |  10次下載  |  3 積分
  15. 8elmo直線電機驅(qū)動調(diào)試細則
  16. 4.76 MB   |  9次下載  |  6 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935115次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191366次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183329次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73805次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65985次下載  |  10 積分