#!/usr/bin/env bash # ADAS cuboid export → 3D fit → promote smoke (val_front6mm_pilot) set -euo pipefail ROOT="$(cd "$(dirname "$0")/.." && pwd)" BATCH="${AS_SMOKE_BATCH:-val_front6mm_pilot}" BATCH_DIR="${AS_SMOKE_BATCH_DIR:-$ROOT/../data/送标/adas/inbox/cuboid_7cls/$BATCH}" export PYTHONPATH="$ROOT/platform:$ROOT" python3 < 0, "export wrote 0" fit = fit_batch(batch_dir) print("fit", fit) qfiles = list((batch_dir / "labels/quaternion_json").glob("*.json")) q = None for p in qfiles: d = json.loads(p.read_text()) if d.get("detections"): q = p break assert q, "no quaternion json with detections" data = json.loads(q.read_text()) det = data["detections"][0] names = load_adas_class_names() assert names[0] == "pedestrian", names assert det["class_name"] == "car" assert det["class_id"] == build_class_map(names)["car"], det result = promote_batch( "adas", task="cuboid_7cls", batch=batch_dir.name, pack="adas_moon3d_v1", batch_dir=batch_dir, skip_validate=False, allow_partial_3d=True, ) print("promote", result) pack_root = Path("$ROOT/datasets/adas/packs/adas_moon3d_v1") dest = pack_root / "sources" / batch_dir.name assert dest.is_dir(), dest assert (dest / "labels" / "quaternion_json").is_dir() assert (pack_root / "lists" / "train_stems.txt").is_file() print("SMOKE_ADAS_PROMOTE_OK") PY