Board Environment Dependencies
This demo is intended to run on the AidLux board environment where the AidLite QNN240 runtime is available. A normal development container can run --dry_run, but cannot execute the QNN contexts unless import aidlite succeeds.
Verified Board Environment
The current board used for validation reports:
Python 3.10.12
aidlite import: OK
numpy 1.26.4
opencv-python / cv2 4.13.0
Pillow / PIL 10.4.0
Required Runtime Components
- AidLux / AidLite Python runtime with
aidlitemodule. - AidLite QNN240 plugin/runtime for
FrameworkType.TYPE_QNN240. - Qualcomm HTP/DSP runtime and valid board license.
- Board-side QNN context execution support for QCS8550 / HTP v73.
The Python code checks the AidLite enum contract at startup:
FrameworkType.TYPE_QNN240 = 109
ImplementType.TYPE_LOCAL = 3
AccelerateType.TYPE_DSP = 3
Required Python Packages
The demo imports these Python packages at runtime:
numpy
cv2
PIL
aidlite
Package usage:
aidlite: loads and invokes the four QNN240 encrypted context.bin.aidemfiles.numpy: tensor loading, dtype conversion, BEVFormer postprocess, NPZ output.cv2: board-side six-camera JPG preprocessing.PIL: camera-grid PNG/GIF visualization.
Model/Data Files Required By Default Run
Default command:
python3 code/python/run_test.py --invoke_nums 4 --output_dir outputs/final_sample4
Required model files:
models/QCS8550/FP16/backbone_context.bin.aidem
models/QCS8550/FP16/scene_start_encoder_context.bin.aidem
models/QCS8550/FP16/temporal_encoder_context.bin.aidem
models/QCS8550/FP16/decoder_context.bin.aidem
Required config files:
code/python/configs/demo_config.json
code/python/configs/nms_runtime_contract.json
Required sample data:
code/python/datasets/sample4/asset_manifest.json
code/python/datasets/sample4/frames/sample_000..sample_003/
Each sample frame contains six raw camera JPGs plus the small auxiliary tensors required by the deployed contexts.
Quick Environment Check
Run on the board:
cd /home/aidlux/bevformer_delivery_demo_2026_07_08
python3 -c "import aidlite, numpy, cv2; from PIL import Image; print('board env ok')"
python3 code/python/run_test.py --dry_run --check_raw_assets
The dry-run checks paths, model SHA, sample assets, and scene-start/temporal routing. It does not invoke AidLite/DSP.
Notes
- Do not expect real inference to work in a host/container environment without AidLite.
configs/qnn_htp_configs/is not required by runtime; it was only an optional encryption/audit supplement and is not included in the runtime demo package.- Full inference timing and visualization are printed by the default command without adding extra timing flags.