国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

博客專欄

EEPW首頁 > 博客 > 手把手基于 MINI 數(shù)據(jù)集帶你做一次板端精度評估

手把手基于 MINI 數(shù)據(jù)集帶你做一次板端精度評估

發(fā)布人:地平線開發(fā)者 時(shí)間:2025-03-11 來源:工程師 發(fā)布文章

# 1.引論:寫在前面的


性能評估和精度評估在模型開發(fā)和部署過程中是至關(guān)重要的兩個(gè)部分。對于精度評估,地平線算法工具鏈提供了兩中路徑進(jìn)行算法的精度評估。一條為服務(wù)器端精度評估,該路徑通過 PYTHON 腳本使用 PYTHON 推理接口進(jìn)行板端推理仿真,運(yùn)行。BC 或 quantized.onnx 量化量化模型以獲取推理結(jié)果并進(jìn)行后處理后與真值進(jìn)行對比,最終計(jì)算出量化模型的精度;另一條另則是直接在板端推理量化后的 hbm 模型,獲取推理結(jié)果,然后下載推理結(jié)果到服務(wù)器端并通過 PYTHON 評估腳本結(jié)合真值進(jìn)行進(jìn)行計(jì)算,最終計(jì)算出量化模型的精度。因?yàn)楹笳呤窃诎宥诉M(jìn)行推理,可以充分利用硬件加速過程,在速度上相比服務(wù)器仿真要高效很多,不過,限于板端存儲(chǔ)限制,評測所需要的大數(shù)據(jù)集還需要通過 NFS 在板端使用。


本文以 bevformer 精度評估為例,引到讀者從評測環(huán)境構(gòu)建到評測數(shù)據(jù)準(zhǔn)備,最后到精度評測試試和最終結(jié)果計(jì)算的整個(gè)流程,以期給您一個(gè)進(jìn)行板端精度評測的一個(gè)流程全貌。


# 2.環(huán)境準(zhǔn)備和評測實(shí)施


整個(gè)評測過程涉及 評測所用的數(shù)據(jù)集文件準(zhǔn)備、NFS 服務(wù)端安裝和板端目錄掛載、評測程序準(zhǔn)備和相關(guān)文件配置、評測執(zhí)行和結(jié)果收集 以及 評測結(jié)果計(jì)算 等 5 個(gè)小環(huán)節(jié)。其中評測所用的數(shù)據(jù)集文件準(zhǔn)備、NFS 服務(wù)端安裝、評測結(jié)果結(jié)算是在服務(wù)器端進(jìn)行,而板端目錄掛載、評測程序準(zhǔn)備和相關(guān)文件配置、評測執(zhí)行和結(jié)果收集為板端執(zhí)行部分。下面為針對這寫過程逐步為大家展開說明。因?yàn)闇y評過程是基于算法工具鏈進(jìn)行的,所以在開始測評之前需要大家先配置好工具鏈的 docker 環(huán)境并關(guān)在 OE 示例包。我這里以征程 6 的 OE-3.0.22 為例進(jìn)行說明,另外為了加速測試過程,這里僅以 mini 數(shù)據(jù)集加以闡述。


## 2.1 評測所用的數(shù)據(jù)集文件準(zhǔn)備


1.下載的 nuScenes 的 v1.0-mini.tgz、nuScenes-lidarseg-all-v1.0.tar.bz2、nuScenes-map-expansion-v1.3.zip 和 can_bus.zip 后進(jìn)行解壓,解壓后的目錄如下所示:


```Plain

|--nuscenes

    |-- can_bus #can_bus.zip解壓后的目錄

    |-- lidarseg #nuScenes-lidarseg-all-v1.0.tar.bz2解壓后的目錄

    |-- maps #nuScenes-map-expansion-v1.3.zip解壓后的數(shù)據(jù)

    |-- samples #v1.0-mini.tar解壓后的目錄

    |   |-- CAM_BACK

    |   |-- ...

    |   |-- CAM_FRONT_RIGHT

    |   |--  ...

    |   `-- RADAR_FRONT_RIGHT

    |-- sweeps #v1.0-mini.tar解壓后的目錄

    |   |-- CAM_BACK

    |   |-- ...

    |   |-- CAM_FRONT_RIGHT

    |   |--  ...

    |   `-- RADAR_FRONT_RIGHT

    |-- v1.0-mini #v1.0-mini.tgz解壓后的目錄

        |-- attribute.json

        |

        `-- visibility.json

```


2.在 nuscenes 下創(chuàng)建 meta 文件夾,將解壓后的 v1.0-mini 文件夾、maps 文件夾、lidarseg 文件夾拷貝到 meta 文件夾內(nèi),構(gòu)建如下:


```Plain

meta/

├── lidarseg

│   └── v1.0-mini

├── maps

│   ├── 36092f0b03a857c6a3403e25b4b7aab3.png

│   ├── 37819e65e09e5547b8a3ceaefba56bb2.png

│   ├── 53992ee3023e5494b90c316c183be829.png

│   ├── 93406b464a165eaba6d9de76ca09f5da.png

│   ├── basemap

│   ├── expansion

│   └── prediction

└── v1.0-mini

    ├── attribute.json

    ├── calibrated_sensor.json

    ├── category.json

    ├── ego_pose.json

    ├── instance.json

    ├── log.json

    ├── map.json

    ├── sample.json

    ├── sample_annotation.json

    ├── sample_data.json

    ├── scene.json

    ├── sensor.json

    └── visibility.json

```


3.進(jìn)入工具鏈的/samples/ucp_tutorial/dnn/ai_benchmark/j6/qat/tools/eval_preprocess/目錄修改 bev_preprocess.py、

修改前1

4.修改 bev_preprocess.py 后執(zhí)行下列命令: python3 bev_preprocess.py --model=bevformer_tiny_resnet50_detection_nuscenes --data-path=/data_set/nuScenes_mini --meta-path=/data_set/nuScenes_mini/meta --reference-path=…/…/script/config/reference_points --save-path=。/nuscenes_bev_mini


> 注:/data_set/nuScenes_mini 為上述準(zhǔn)備的數(shù)據(jù)集的目錄


1. 上述命令執(zhí)行后生成 nuscenes_bev_mini 目錄(其中包含 gt 信息 val_gt_infos.pkl)和 idx.txt,他們作為精度評測過程依賴文件,在 NFS server 構(gòu)建之后可以拷貝到 NFS 分享目錄中,將來在板端掛載后使用。


## 2.2 NFS 服務(wù)器安裝、配置 以及 板端掛載使用


### 2.2.1 NFS 服務(wù)器安裝和配置( *此處為 ubuntu2204 系統(tǒng)* )


1.安裝和啟動(dòng)


```

# 安裝nfs-server(安裝后會(huì)自動(dòng)啟動(dòng))

sudo apt install nfs-kernel-server

# 查看nfs-server狀態(tài)

sudo systemctl status nfs-server

# 開機(jī)自啟

sudo systemctl enable nfs-server

```


2.創(chuàng)建共享目錄


```

sudo mkdir -p /mnt/nfs_share

#修改權(quán)限

sudo chmod -R 777 /mnt/nfs_share

# !?。?zhǔn)備好的精度評測過程依賴文件可以拷貝到新建的目錄中,板端掛載后即可使用

```


3.使用命令 sudo vi /etc/exports 編輯配置文件,末尾添加如下內(nèi)容: `/mnt/nfs_share *(rw,sync,no_subtree_check,insecure,no_root_squash)`


4.使用命令`sudo systemctl restart nfs-server`重啟 NFS 服務(wù)


### 2.2.2 NFS 板端掛載和可用性驗(yàn)證


```

#安裝依賴包(默認(rèn)Jx開發(fā)板系統(tǒng)已安裝,此處僅為在其他板端或服務(wù)器掛載NFS做參考)

#sudo apt install nfs-common

#創(chuàng)建掛載目錄

mkdir -p /userdata/nfs

#掛載NFS共享目錄(這里假設(shè)服務(wù)器IP為:192.168.1.6)

sudo mount -t nfs 192.168.1.6:/mnt/nfs_share /userdata/nfs

```


## 2.3 評測程序準(zhǔn)備和相關(guān)文件配置


1. 精度評測工具準(zhǔn)備 該文章精度評測使用工具鏈自帶的 ai_benchmarch 進(jìn)行內(nèi)容展開和測試實(shí)施,因此實(shí)在測評開始前需要先編譯好 ai_benchmarch 的上板程序,并將編譯結(jié)果打包后上傳到用于實(shí)施精度評測的開發(fā)板上(一般來講/map 目錄空間較大,這里以將 ai_benchmarch 部署包上傳至/map/tester 下,解壓后為/map/tester/ai_benchmark)

2. 精度測試流程啟動(dòng)腳本 為/map/tester/ai_benchmark/qat/script/bev/bevformer_tiny_resnet50_detection_nuscenes/accuracy.sh,其配置文件為同級(jí)目錄下的 workflow_accuracy.json,從配置還可以看出其使用的數(shù)據(jù)位于…/…/…/data/nuscenes_bev/(絕對路徑為/map/tester/ai_benchmark/qat/data/nuscenes_bev)中。

3. 評測數(shù)據(jù)準(zhǔn)備 /map/tester/ai_benchmark/qat/script/bev/bevformer_tiny_resnet50_detection_nuscenes/gen_file_list.sh 用于生成 workflow_accuracy.json 中所使用的*。lst 文件,為了適配 mini 數(shù)據(jù)集需要修改腳本如下(order_file 指向回灌數(shù)據(jù)生成過程中的 idx.txt):


Description

腳本修改后運(yùn)行便可在/map/tester/ai_benchmark/qat/data/nuscenes_bev 目錄生成 mini 數(shù)據(jù)集對應(yīng)的 lst 文件。


> - /userdata/nfs 為 NFS 掛載目錄,其中存放有評測所需要的文件。

> - 為了使得測試順利進(jìn)行,測試數(shù)據(jù)可以使用`"ln -s /userdata/nfs/nuscenes_bev_mini/* ."`加以引用(實(shí)際應(yīng)用過程很多使用也是通過軟鏈方式加以使用)


## 2.4 評測執(zhí)行和結(jié)果收集


數(shù)據(jù)準(zhǔn)備好之后就可以運(yùn)行 accuracy.sh 進(jìn)行測評實(shí)施,測試完成后生成 eval.log,用于后面的最終結(jié)果評估。


## 2.5 評測結(jié)果計(jì)算


1. 精度計(jì)算在服務(wù)器端的 OE 開發(fā)環(huán)境中進(jìn)行,執(zhí)行腳本為/open_explorer/samples/ucp_tutorial/dnn/ai_benchmark/j6/qat/tools/python_tools/accuracy_tools/bev_eval.py。

2. 為了使用 mini 數(shù)據(jù)集,需要對腳本稍加修改如下:


Description

3.將板端運(yùn)行 accuracy.sh 后生成的 eval.log 傳回服務(wù)器端 OE 開發(fā)環(huán)境中聯(lián)合數(shù)據(jù)集的 meta(前面準(zhǔn)備評測數(shù)據(jù)集時(shí)已備),以及準(zhǔn)備評測數(shù)據(jù)集過程中生成的 val_gt_infos.pkl 執(zhí)行下面的精度評估命令的到評估結(jié)果。


```

cd /open_explorer/samples/ucp_tutorial/dnn/ai_benchmark/j6/qat/tools/python_tools/accuracy_tools


#eval.log、val_gt_infos.pkl和meta的位置根據(jù)自身情況調(diào)整。

python3 bev_eval.py  --det_eval_path=eval.log --gt_files_path=../../eval_preprocess/nuscenes_bev_mini/val_gt_infos.pkl --meta_dir=/data_set/nuScenes_mini/meta

eval.py  --det_eval_path=eval.log --gt_files_path=../../eval_preprocess/nuscenes_bev_mini/val_gt_infos.pkl --meta_dir=/data_set/nuScenes_mini/meta

```


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。




相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉