Major changes: - New frontend (platform/web/): Vite + React 18 + TypeScript + Tailwind - 4-module navigation: 数据送标 / 模型管理 / 车队管理 / 系统管理 - Data catalog with charts (DMS/ADAS/Lane 3-tab view) - Quality review workflow (标注质检): Good/Fine/Bad scoring with auto-advance - Audit enhancements: batch operations, rejection categories, Feishu notifications - Operation audit log (操作日志) - World model simulation studio (仿真工坊) - Dataset version management with snapshots and diff - ADAS 7-class dataset integration (138K images organized + compressed) - User management with Feishu integration and pagination - CRUD/search/filter on all pages, card layout redesign - PIL-optimized image overlay rendering - Auto-snapshot on build, in_review workflow stage - Removed embedded algorithm code (now in workspace)
Configs
Config files in PytorchAutoDrive (./configs/) are used to define models,
how they are trained, tested, visualized, etc.
Registry Mechanism
Different to existing class-based registers, we can also register functions. For functions, you only write static args in your config, while passing the dynamic ones on-the-fly by:
REGISTRY.from_dict(
<config dict for a function/class>,
kwarg1=1, kwarg2=2, ...
)
Note that each argument must be keyword (k=v), and some kwargs can overwrite dict configs.
Use An Existing Config
Modify customized options like the root of your datasets (in configs/*/common/_*.py).
Write A New Config
Copy the config file most similar to your use case and modify it.
Note that you can simply import config parts from common or other config files, it is like writing Python.
Register A New Class/Func
Choose the appropriate registry and register your Class/Func by:
@REGISTRY.register()
Remember you still need to import this Class/Func for the registering to take effects.
How To Read The Code
Since you can't just click 'go to definition' in your IDE,
it is suggested to search the directory for each Class/Function by name in configs.