Skip to content

deploy: deploy orchestration (export flow, verify/eval wiring); retire legacy deployment_export - #18

Draft
vividf wants to merge 1 commit into
pr7-quantization-frameworkfrom
pr8-deploy-orchestration
Draft

deploy: deploy orchestration (export flow, verify/eval wiring); retire legacy deployment_export#18
vividf wants to merge 1 commit into
pr7-quantization-frameworkfrom
pr8-deploy-orchestration

Conversation

@vividf

@vividf vividf commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Stacked PR 8/15 — ⬅ #17 | #19

Stack(base pr-stack-base = 7e35d97):#11#12#13#14#15#16#17#18#19#20(CenterPoint 全功能點)→ #21#25#22#23#24(= 開發 branch HEAD,逐位元一致)。合併由下而上,每合一層把下一層 base retarget。

這個 PR 是什麼

Deploy 編排層:把 #13#17 的零件串成一條命令。放在 quantization 之後是依賴使然(export.pyquantization.core.fusion 做 BN fold;scripts/deploy.py 用 evaluation 與量化 loader)。

流程(一次 deploy 實際發生什麼)

  1. build_stages()(量化 ckpt 先按 record 重建結構)→ validate_stages
  2. 每個 GraphStage export ONNX(opset 17)→ precision 路由(deploy: ONNX toolchain — export, precision pass (fp16 sea / fp32 Q/DQ islands), graph modify #14 的表,樞紐在本 PR 的 export.py)→ strongly-typed TRT build。
  3. verification(config 宣告的 scenarios)→ evaluation(三 backend 並排)。

逐檔導覽

  • deployment/export.py:export→precision→build 的流程與路由;BN fold(_bn_folded_for_export:fold 發生在 export 副本,訓練模型不動)。
  • scripts/deploy.py:端到端編排(builders、dataloader、verify、evaluate、mlflow run scope)+ legacy ExportSpec fallback 分派(過渡:PTv3/FRNet/TransFusion 等 8 個 legacy 模型檔的 TODO 綁退役時間表)。
  • 退役:deployment_export.pyscripts/multi_task_deploy.py 刪除。
  • configs/defaults/modules/deploy.yaml:deploy config 預設。
  • 測試:test_stages.py(端到端 stage 行為,含 autocast monkeypatch)、test_export_bn_fold.py(fold 數值)、test_legacy_export_fallback.pytest_verification_caveat.py(caveat 大聲跳過)。
  • docs/user-guide/deployment.md 更新。
檔案清單(點開)
autoware_ml/configs/defaults/modules/deploy.yaml 38 +-
autoware_ml/deployment/deployment_export.py 115 ----
autoware_ml/deployment/export.py 236 ++++++++
autoware_ml/models/segmentation3d/frnet.py 1 +
autoware_ml/scripts/deploy.py 622 ++++++++++++---------
autoware_ml/scripts/multi_task_deploy.py 205 -------
.../tests/deployment/test_export_bn_fold.py 51 ++
.../deployment/test_legacy_export_fallback.py 93 +++
autoware_ml/tests/deployment/test_stages.py 311 +++++++++++
autoware_ml/tests/utils/test_deploy.py 128 +----
docs/user-guide/deployment.md 310 +++++-----

Review checklist

  • 記錄在案的保留項——雙入口:scripts/deploy.py(416 行)vs deployment/export.py 的職責邊界;本 PR 不解決收斂,只把邊界擺清楚,退役綁 legacy TODO 時間表。
  • export.py 的 precision 路由(全框架行為樞紐)。
  • BN fold 的「export 副本」語意(訓練模型不被改動)。

🤖 Generated with Claude Code

…e legacy deployment_export

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant