測(cè)試環(huán)境
簡(jiǎn)介
VCK5000在vitis ai 3.0對(duì)應(yīng)的shell版本為xilinx-vck5000-gen4x8-qdma-base_2,對(duì)應(yīng)的XRT和XRM版本為xrt_202220.2.14.354和xrm_202220.1.5.212。舊版本的VCK5000需要首先升級(jí)到新的shell上,才能保證vitsi ai的demo正常運(yùn)行。在平臺(tái)更新中存在一些需要遵守的規(guī)則,例如xilinx_vck5000_gen3x16_xdma_base_1不能直接升級(jí)到最新版本,需要首先升級(jí)到vck5000_gen4x8_xdma_base_2。On the fly quantization是Vitis AI 3.0新添加的特性,可以執(zhí)行訓(xùn)練后量化 (PTQ) 以從浮點(diǎn)模型獲取量化模型。
Part1 VCK5000升級(jí)
Step 1 使用以下命令檢查當(dāng)前板卡的狀態(tài)
xbmgmt examine --report platform --device
輸出示例:
如果Flash properties: Type is ospi_versal一定需要更新到ospi_xgq。
只要板卡能被Vivado識(shí)別,可以通過(guò)下載比特流恢復(fù)到這個(gè)狀態(tài),恢復(fù)的方法為:
確認(rèn)勾選了Erase, Program, and Verify。點(diǎn)擊Apply, 然后點(diǎn)擊OK。等待燒錄完畢即可回到初始狀態(tài)。
Step 2 卸載已安裝的XRT
vck5000_gen4x8_xdma_base_2指定的XRT版本為xrt_202210.2.13.478_18.04-amd64-xrt.deb。如果和這個(gè)XRT版本不符,先卸載XRT。
Remove XRT : 'sudo apt remove xrt'
Remove XRT APU if present : 'sudo apt remove xrt-apu'
安裝所需的XRT
Install XRT 2.13.478 : https://www.xilinx.com/bin/public/openDownload?filename=xrt_202210.2.13....
Install XRT-APU: https://www.xilinx.com/bin/public/openDownload?filename=xrt-apu_202210.2...
安裝Gen3和Gen4XDMA平臺(tái)
Install the gen3x16 platform : https://www.xilinx.com/bin/public/openDownload?filename=xilinx-vck5000-p...
AND install the gen4x8_xdma platform: https://www.xilinx.com/bin/public/openDownload?filename=xilinx-vck5000-g...
Step 3 更新到xilinx_vck5000_gen3x16_xdma_base_1
將Gen3的鏡像燒錄到板卡中
sudo xbmgmt program --base --device --image
完成后等待一分鐘后冷啟動(dòng)電腦。
Step 4 更新到vck5000_gen4x8_xdma_base_2
根據(jù)鏈接可以將VCK5000的platform從vck5000_gen3x16_base_1更新到vck5000_gen4x8_xdma_base_2。
https://xilinx.github.io/Alveo-Versal-Platforms/alveoversalplatforms/bui...
sudo /opt/xilinx/firmware/vck5000/gen4x8-xdma/base/migration/migrate.sh
完成后等待一分鐘后冷啟動(dòng)電腦。
Step 5 更新到vck5000_gen4x8_qdma_base_2
下一步需要更新到vck5000_gen4x8_qdma_base_2,首先安裝對(duì)應(yīng)版本的XRT,XRM和XRT-APU,然后燒寫(xiě)platform,注意安裝版本要和vitis-ai 3.0匹配。
安裝XRT
https://www.xilinx.com/bin/public/openDownload?filename=xrt_202220.2.14....
安裝XRM
https://www.xilinx.com/bin/public/openDownload?filename=xrm_202220.1.5.2...
安裝vck5000_gen4X8_qdma平臺(tái)
wget
https://www.xilinx.com/bin/public/openDownload?filename=xilinx-vck5000-g...
tar xfz shell.tgz
sudo apt install ./xilinx-vck5000-gen4x8-qdma-base_2-20221205_all.deb -y
第一步,只能更新shell。
sudo /opt/xilinx/xrt/bin/xbmgmt program --device 01:00.0 --base shell --image xilinx_vck5000_gen4x8_qdma_base_2
升級(jí)完成后等待一分鐘冷啟動(dòng),由于沒(méi)有更新SC會(huì)出現(xiàn)
將SC版本從4.4.33更新到4.4.35 需要更新兩次。第一次更新SC會(huì)以失敗告終。
等待一分鐘后再次燒錄SC
再等待一分鐘后冷啟動(dòng)電腦,然后檢查板卡狀態(tài)。
到此更新完畢。
Part2 運(yùn)行Vitis-AI 3.0 demo
獲取Vitis-AI倉(cāng)庫(kù)。
git clone ;
以Pytorch為例子,獲取docker容器。
docker pull xilinx/vitis-ai-pytorch-cpu:latest
查詢系統(tǒng)中存在的容器
docker images
啟動(dòng)容器。
根據(jù)DPU型號(hào)設(shè)置vck5000腳本,腳本在setup_board/vck5000目錄下
source ./setup.sh DPUCVDX8H_4pe_miscdwc
source ./setup.sh DPUCVDX8H_6pe_dwc
source ./setup.sh DPUCVDX8H_6PE_MISC
source ./setup.sh DPUCVDX8H_8pe_normal
該腳本會(huì)設(shè)置兩個(gè)環(huán)境變量
XCLBIN_PATH = /opt/xilinx/overlaybins/DPUCVDX8H/4PE
XLNX_VART_FIRMWARE = /opt/xilinx/overlaybins/DPUCVDX8H/4PE/dpu_DPUCVDX8H_4PE_350M_xilinx_vck5000_ge
準(zhǔn)備數(shù)據(jù)集
To use ImageNet, first download it from http://www.image-net.org/. For calibration purpose, only the validation set is needed.
數(shù)據(jù)集結(jié)構(gòu)
# imagenet/train/
# ├── n01440764
# │ ├── n01440764_10026.JPEG
# │ ├── n01440764_10027.JPEG
# │ ├── ......
# imagenet/val/
# ├── n01440764
# │ ├── ILSVRC2012_val_00000293.JPEG
# │ ├── ILSVRC2012_val_00002138.JPEG
# │ ├── ......
# ├── ......
安裝必要的包
pip install -r requirements.txt
準(zhǔn)備浮點(diǎn)模型
wget ;
準(zhǔn)備測(cè)試圖像
wget -O wego_example_recipes.tar.gz
tar xf wego_example_recipes.tar.gz -C /tmp
運(yùn)行腳本
bash quantize_compile_serialize_run.sh ./inception_v3_google-0cc3c7bd.pth ./val
可以得到最終的結(jié)果
常見(jiàn)錯(cuò)誤
1.運(yùn)行
bash quantize_compile_serialize_run.sh ./inception_v3_google-0cc3c7bd.pth ./testval/
出現(xiàn)錯(cuò)誤
Traceback (most recent call last):
File "run.py", line 181, in
main()
File "run.py", line 166, in main
wego_mod = get_wego_mod(img_transforms)
File "run.py", line 125, in get_wego_mod
quantized_model = wego_torch.quantize(float_model, [[target_batch] + input_shape], calib_dataloader, calibrator)
File "/opt/vitis_ai/conda/envs/vitis-ai-wego-torch/lib/python3.7/site-packages/wego_torch/quantizer.py", line 130, in quantize
for b_idx, batch in tqdm(enumerate(dataloader), total=len(dataloader)):
File "/opt/vitis_ai/conda/envs/vitis-ai-wego-torch/lib/python3.7/site-packages/tqdm/std.py", line 1195, in __iter__
for obj in iterable:
File "/opt/vitis_ai/conda/envs/vitis-ai-wego-torch/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 681, in __next__
data = self._next_data()
File "/opt/vitis_ai/conda/envs/vitis-ai-wego-torch/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 721, in _next_data
data = self._dataset_fetcher.fetch(index) # may raise StopIteration
File "/opt/vitis_ai/conda/envs/vitis-ai-wego-torch/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 49, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/opt/vitis_ai/conda/envs/vitis-ai-wego-torch/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 49, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/opt/vitis_ai/conda/envs/vitis-ai-wego-torch/lib/python3.7/site-packages/torch/utils/data/dataset.py", line 290, in __getitem__
return self.dataset[self.indices[idx]]
File "/opt/vitis_ai/conda/envs/vitis-ai-wego-torch/lib/python3.7/site-packages/torchvision/datasets/folder.py", line 229, in __getitem__
path, target = self.samples[index]
IndexError: list index out of range
請(qǐng)往數(shù)據(jù)集添加更多的測(cè)試數(shù)據(jù)。
2.更新VCK5000到xilinx_vck5000_gen4x8_xdma_base_2出錯(cuò)
EXE: /opt/xilinx/xrt/bin/unwrapped/xbmgmt2
[xbmgmt] ERROR: Failded to update base: Invalid argument
檢查platform是否存已經(jīng)安裝且名字輸入正確。
聯(lián)系FAE回退到Gen3X16,重新升級(jí)。
審核編輯:湯梓紅
-
AI
+關(guān)注
關(guān)注
87文章
30998瀏覽量
269328 -
命令
+關(guān)注
關(guān)注
5文章
685瀏覽量
22047 -
Shell
+關(guān)注
關(guān)注
1文章
366瀏覽量
23403 -
Vitis
+關(guān)注
關(guān)注
0文章
146瀏覽量
7443
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
【KV260視覺(jué)入門(mén)套件試用體驗(yàn)】部署vitis-ai環(huán)境以及測(cè)試demo
【KV260視覺(jué)入門(mén)套件試用體驗(yàn)】部署DPU鏡像并運(yùn)行Vitis AI圖像分類(lèi)示例程序
【KV260視覺(jué)入門(mén)套件試用體驗(yàn)】五、VITis AI (人臉檢測(cè)和人體檢測(cè))
【KV260視覺(jué)入門(mén)套件試用體驗(yàn)】六、VITis AI車(chē)牌檢測(cè)&車(chē)牌識(shí)別
【KV260視覺(jué)入門(mén)套件試用體驗(yàn)】八、VITis AI自動(dòng)駕駛多任務(wù)執(zhí)行MultiTask V3
【KV260視覺(jué)入門(mén)套件試用體驗(yàn)】基于Vitis AI的ADAS目標(biāo)識(shí)別
【KV260視覺(jué)入門(mén)套件試用體驗(yàn)】Vitis-AI加速的YOLOX視頻目標(biāo)檢測(cè)示例體驗(yàn)和原理解析
【KV260視覺(jué)入門(mén)套件試用體驗(yàn)】Vitis AI 構(gòu)建開(kāi)發(fā)環(huán)境,并使用inspector檢查模型
Vitis AI 1.4賦予 AI 產(chǎn)品化更多可能性
Xilinx KV260 Vitis-AI 1.4人臉檢測(cè)
![Xilinx KV260 <b class='flag-5'>Vitis-AI</b> 1.4人臉檢測(cè)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
使用Vitis-AI進(jìn)行車(chē)牌識(shí)別
![使用<b class='flag-5'>Vitis-AI</b>進(jìn)行車(chē)牌識(shí)別](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
VCK5000數(shù)據(jù)中心加速開(kāi)發(fā)套件硬件安裝指南
![<b class='flag-5'>VCK5000</b>數(shù)據(jù)中心加速開(kāi)發(fā)套件硬件安裝指南](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
用于AI推理的VCK5000產(chǎn)品簡(jiǎn)介
![用于<b class='flag-5'>AI</b>推理的<b class='flag-5'>VCK5000</b>產(chǎn)品簡(jiǎn)介](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Vitis AI校準(zhǔn)和量化代碼
如何使用Vitis-AI加速YOLOX模型實(shí)現(xiàn)視頻中的目標(biāo)檢測(cè)
![如何使用<b class='flag-5'>Vitis-AI</b>加速YOLOX模型實(shí)現(xiàn)視頻中的目標(biāo)檢測(cè)](https://file1.elecfans.com/web2/M00/AA/16/wKgZomUs6qGAc-z_AAAvUfM8lag116.png)
評(píng)論