请从仓库根目录运行命令。使用以下命令安装通用 Python 依赖:
python -m pip install -r requirements.txt在模型转换主机上另行安装兼容的 RKNN Toolkit,并在开发板上安装 RKNN
Lite/Runtime。Toolkit、BSP、NPU 驱动和 librknnrt 的版本必须相互兼容。
AArch64 开发板应使用 BSP 提供的 OpenCV。
python srcs/export_onnx.py \
--aadflownet-root /work/AADFlowNet \
--checkpoint /path/to/aadflownet.pth --size 320 320 \
--name aadflownet_320x320_fp32
python srcs/rknn/convert.py \
--onnx build/onnx/aadflownet_320x320_fp32.onnx --target rk3588 --mode fp16fp16 是 RKNN 的非 INT8 路径,并非与 PyTorch FP32 逐比特一致的路径。
针对 RV1126B 时必须使用 --target rv1126b 重新构建;切勿在不同平台之间
直接复制 RKNN 模型。
PTQ 使用不含光流标签的代表性图像对。图像对文件的每一行格式为
CURRENT REFERENCE。
python srcs/quantization/prepare_calibration.py \
--pairs /path/to/calibration-pairs.txt --size 320 320 \
--name aadflownet_320x320
python srcs/rknn/convert.py \
--onnx build/onnx/aadflownet_320x320_fp32.onnx \
--target rk3588 --mode int8-ptq --dataset build/calibration/aadflownet_320x320/dataset.txt校准数据应覆盖零运动、小运动、典型运动和最大运动,同时包含真实的光照及 传感器变化。
QAT 需要带标签的 AADFlowNet 训练/验证数据,其中包括 flow_x/*.npy 和
flow_y/*.npy。
python srcs/quantization/train_qat.py \
--aadflownet-root /work/AADFlowNet \
--checkpoint /path/to/aadflownet.pth --data /path/to/aadflow-data \
--epochs 5 --name aadflownet_qat
python srcs/quantization/export_qat_onnx.py \
--aadflownet-root /work/AADFlowNet \
--checkpoint build/qat/aadflownet_qat/checkpoint_qat_best.pth --size 320 320 \
--name aadflownet_320x320_qat
python srcs/rknn/convert.py \
--onnx build/onnx/aadflownet_320x320_qat.onnx --target rk3588 --mode int8-qatRKNN Toolkit 对 Q/DQ 的支持取决于具体版本。务必在开发板上进行验证。
python srcs/rknn/hybrid_quantize.py step1 \
--onnx build/onnx/aadflownet_320x320_fp32.onnx \
--dataset build/calibration/aadflownet_320x320/dataset.txt --target rk3588 \
--name aadflownet_320x320
# 检查生成的 *.quantization.cfg,然后执行:
python srcs/rknn/hybrid_quantize.py step2 \
--work-dir build/hybrid/rk3588/aadflownet_320x320 --target rk3588 \
--name aadflownet_320x320每个平台都需要分别执行这两个步骤。
python srcs/rknn/validate.py \
--reference-onnx build/onnx/aadflownet_320x320_fp32.onnx \
--rknn build/models/rk3588/aadflownet_320x320_fp32_fp16.rknn \
--dataset build/calibration/aadflownet_320x320/dataset.txt --backend lite \
--report-name rk3588-fp16
python srcs/benchmark.py \
--model build/models/rk3588/aadflownet_320x320_fp32_fp16.rknn \
--backend rknn --platform rk3588 --contexts 3 --warmup 10 --runs 100请根据具体应用设置 --max-mae 和 --max-epe 阈值。五路视频流并不意味着
存在五个 NPU 核心;应在实际开发板上测量延迟、吞吐量、内存占用和丢帧情况。
生成的检查点、校准数据、ONNX/RKNN 模型、报告、视频、厂商库和 SDK 文件,
应放在已忽略的 build/ 目录中,或存放在仓库之外。发布包应基于已提交文件
使用 git archive 创建,不要直接压缩工作目录。