feat: 合并 Docker Compose、标注表格优化与部署文档
将 platform + CVAT 合并为单文件 docker-compose.yml,完善 .env 与 init/dev_up 脚本; 新增 docs/DEPLOY.md 与更新 README 以支持新机器部署;含数据湖示例、车队地图、 紧凑表格 UI、ADAS det_7cls 路径与批次台账等近期改动。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# addw — packs: dms_v1
|
||||
path: /home/chengfanglu/DATA/workspace/DMS/DATASET/packs/dms_v1/addw
|
||||
train: /home/chengfanglu/DATA/workspace/DMS/DATASET/packs/dms_v1/addw/images/train
|
||||
val: /home/chengfanglu/DATA/workspace/DMS/DATASET/packs/dms_v1/addw/images/val
|
||||
path: /data/hsap/datasets/dms/packs/dms_v1/addw
|
||||
train: /data/hsap/datasets/dms/packs/dms_v1/addw/images/train
|
||||
val: /data/hsap/datasets/dms/packs/dms_v1/addw/images/val
|
||||
|
||||
nc: 4
|
||||
names: ["face", "eye_open", "nod_face", "nod_eye"]
|
||||
|
||||
@@ -370,11 +370,11 @@ def append_log(root: Path, record: dict) -> None:
|
||||
f.write(json.dumps(record, ensure_ascii=False) + "\n")
|
||||
|
||||
|
||||
def run_refresh(root: Path) -> None:
|
||||
subprocess.run(
|
||||
[sys.executable, str(SCRIPT_DIR / "refresh_yaml.py"), "--root", str(root)],
|
||||
check=True,
|
||||
)
|
||||
def run_refresh(root: Path, task: str | None = None) -> None:
|
||||
cmd = [sys.executable, str(SCRIPT_DIR / "refresh_yaml.py"), "--root", str(root)]
|
||||
if task:
|
||||
cmd.extend(["--task", task])
|
||||
subprocess.run(cmd, check=True)
|
||||
|
||||
|
||||
def ingest_one(
|
||||
@@ -588,7 +588,7 @@ def promote_inbox_batch(
|
||||
if not dry_run:
|
||||
append_log(root.resolve(), {"src": str(src), "pack": pack, **result})
|
||||
if refresh:
|
||||
run_refresh(root.resolve())
|
||||
run_refresh(root.resolve(), task=task)
|
||||
return result
|
||||
|
||||
|
||||
|
||||
@@ -36,7 +36,18 @@ def resolve_pack_dir(root: Path, pack_name: str) -> Path:
|
||||
name = reg.get("aliases", {}).get(pack_name, pack_name)
|
||||
for item in reg.get("packs", []):
|
||||
if item.get("name") == name:
|
||||
return (root / item["path"]).resolve()
|
||||
candidate = root / item["path"]
|
||||
if candidate.is_symlink():
|
||||
try:
|
||||
resolved = candidate.resolve()
|
||||
if resolved.is_dir():
|
||||
return resolved
|
||||
except OSError:
|
||||
pass
|
||||
if not candidate.exists():
|
||||
candidate.unlink()
|
||||
candidate.mkdir(parents=True, exist_ok=True)
|
||||
return candidate.resolve()
|
||||
candidate = root / name
|
||||
if candidate.is_dir():
|
||||
return candidate.resolve()
|
||||
|
||||
186
datasets/dms/versions/v3.json
Normal file
186
datasets/dms/versions/v3.json
Normal file
@@ -0,0 +1,186 @@
|
||||
{
|
||||
"version_id": "v3",
|
||||
"project": "dms",
|
||||
"created_at": "2026-06-16T02:16:28.125198+00:00",
|
||||
"description": "自动快照 · build dms/addw",
|
||||
"author": "system",
|
||||
"parent_version": "v2",
|
||||
"summary": {
|
||||
"packs_count": 3,
|
||||
"total_images": 138852,
|
||||
"total_labels": 2003,
|
||||
"batches_count": 60
|
||||
},
|
||||
"packs": {
|
||||
"dms_v1": {
|
||||
"train_images": 8794,
|
||||
"val_images": 1053,
|
||||
"test_images": 2129,
|
||||
"class_counts": {},
|
||||
"tasks": [
|
||||
"ddaw",
|
||||
"addw",
|
||||
"addw_face",
|
||||
"adas"
|
||||
]
|
||||
},
|
||||
"dms_v2": {
|
||||
"train_images": 1,
|
||||
"val_images": 0,
|
||||
"test_images": 0,
|
||||
"class_counts": {},
|
||||
"tasks": [
|
||||
"ddaw",
|
||||
"addw",
|
||||
"addw_face",
|
||||
"adas"
|
||||
]
|
||||
},
|
||||
"adas_v1": {
|
||||
"train_images": 116103,
|
||||
"val_images": 12901,
|
||||
"test_images": 0,
|
||||
"class_counts": {},
|
||||
"tasks": [
|
||||
"ddaw",
|
||||
"addw",
|
||||
"addw_face",
|
||||
"adas"
|
||||
]
|
||||
}
|
||||
},
|
||||
"batches": [
|
||||
"20260525_pilot",
|
||||
"e2e_2img_20260616",
|
||||
"once_test_test_cam01_000034",
|
||||
"once_test_test_cam01_000077",
|
||||
"once_test_test_cam01_000168",
|
||||
"once_test_test_cam01_000200",
|
||||
"once_test_test_cam01_000273",
|
||||
"once_test_test_cam01_000275",
|
||||
"once_test_test_cam01_000303",
|
||||
"once_test_test_cam01_000318",
|
||||
"once_test_test_cam01_000322",
|
||||
"once_test_test_cam01_000334",
|
||||
"once_test_test_cam09_000034",
|
||||
"once_test_test_cam09_000077",
|
||||
"once_test_test_cam09_000168",
|
||||
"once_test_test_cam09_000200",
|
||||
"once_test_test_cam09_000273",
|
||||
"once_test_test_cam09_000275",
|
||||
"once_test_test_cam09_000303",
|
||||
"once_test_test_cam09_000318",
|
||||
"once_test_test_cam09_000322",
|
||||
"once_test_test_cam09_000334",
|
||||
"once_train_train_cam01_000076",
|
||||
"once_train_train_cam01_000080",
|
||||
"once_train_train_cam01_000092",
|
||||
"once_train_train_cam01_000104",
|
||||
"once_train_train_cam01_000113",
|
||||
"once_train_train_cam01_000121",
|
||||
"once_train_train_cam03_000076",
|
||||
"once_train_train_cam03_000080",
|
||||
"once_train_train_cam03_000092",
|
||||
"once_train_train_cam03_000104",
|
||||
"once_train_train_cam03_000113",
|
||||
"once_train_train_cam03_000121",
|
||||
"once_train_train_cam09_000076",
|
||||
"once_train_train_cam09_000080",
|
||||
"once_train_train_cam09_000092",
|
||||
"once_train_train_cam09_000104",
|
||||
"once_train_train_cam09_000113",
|
||||
"once_train_train_cam09_000121",
|
||||
"once_val_val_cam01_000027",
|
||||
"once_val_val_cam01_000028",
|
||||
"once_val_val_cam01_000112",
|
||||
"once_val_val_cam01_000201",
|
||||
"once_val_val_cam03_000027",
|
||||
"once_val_val_cam03_000028",
|
||||
"once_val_val_cam03_000112",
|
||||
"once_val_val_cam03_000201",
|
||||
"wf_batch001_202511_fov100_2d_obj_det_data",
|
||||
"wf_batch003_202601_0109_0113_fov75_2d_obj_det_data",
|
||||
"wf_batch006_20240102_near_missing_datas",
|
||||
"wf_batch007_202512_1202_1209_data_with_prelabel",
|
||||
"wf_batch009_202601_0118_0120_truck425_data",
|
||||
"wf_batch011_202601_0122_0124_truck425_data",
|
||||
"wf_batch012_202601_0118_0121_truck_588_282_data",
|
||||
"wf_batch013_202601_0121_0124_truck_588_282_data",
|
||||
"wf_batch014_202601_0125_0131_data",
|
||||
"wf_batch017_202509_0901_0910_data",
|
||||
"wf_batch021_zhongka_bev_biaozhu_front_240710_240718",
|
||||
"wf_batch025_zhongka_bev_biaozhu_front_241213_241225"
|
||||
],
|
||||
"diff": {
|
||||
"added_packs": [
|
||||
"adas_v1"
|
||||
],
|
||||
"removed_packs": [],
|
||||
"added_batches": [
|
||||
"e2e_2img_20260616",
|
||||
"once_test_test_cam01_000034",
|
||||
"once_test_test_cam01_000077",
|
||||
"once_test_test_cam01_000168",
|
||||
"once_test_test_cam01_000200",
|
||||
"once_test_test_cam01_000273",
|
||||
"once_test_test_cam01_000275",
|
||||
"once_test_test_cam01_000303",
|
||||
"once_test_test_cam01_000318",
|
||||
"once_test_test_cam01_000322",
|
||||
"once_test_test_cam01_000334",
|
||||
"once_test_test_cam09_000034",
|
||||
"once_test_test_cam09_000077",
|
||||
"once_test_test_cam09_000168",
|
||||
"once_test_test_cam09_000200",
|
||||
"once_test_test_cam09_000273",
|
||||
"once_test_test_cam09_000275",
|
||||
"once_test_test_cam09_000303",
|
||||
"once_test_test_cam09_000318",
|
||||
"once_test_test_cam09_000322",
|
||||
"once_test_test_cam09_000334",
|
||||
"once_train_train_cam01_000076",
|
||||
"once_train_train_cam01_000080",
|
||||
"once_train_train_cam01_000092",
|
||||
"once_train_train_cam01_000104",
|
||||
"once_train_train_cam01_000113",
|
||||
"once_train_train_cam01_000121",
|
||||
"once_train_train_cam03_000076",
|
||||
"once_train_train_cam03_000080",
|
||||
"once_train_train_cam03_000092",
|
||||
"once_train_train_cam03_000104",
|
||||
"once_train_train_cam03_000113",
|
||||
"once_train_train_cam03_000121",
|
||||
"once_train_train_cam09_000076",
|
||||
"once_train_train_cam09_000080",
|
||||
"once_train_train_cam09_000092",
|
||||
"once_train_train_cam09_000104",
|
||||
"once_train_train_cam09_000113",
|
||||
"once_train_train_cam09_000121",
|
||||
"once_val_val_cam01_000027",
|
||||
"once_val_val_cam01_000028",
|
||||
"once_val_val_cam01_000112",
|
||||
"once_val_val_cam01_000201",
|
||||
"once_val_val_cam03_000027",
|
||||
"once_val_val_cam03_000028",
|
||||
"once_val_val_cam03_000112",
|
||||
"once_val_val_cam03_000201",
|
||||
"wf_batch001_202511_fov100_2d_obj_det_data",
|
||||
"wf_batch003_202601_0109_0113_fov75_2d_obj_det_data",
|
||||
"wf_batch006_20240102_near_missing_datas",
|
||||
"wf_batch007_202512_1202_1209_data_with_prelabel",
|
||||
"wf_batch009_202601_0118_0120_truck425_data",
|
||||
"wf_batch011_202601_0122_0124_truck425_data",
|
||||
"wf_batch012_202601_0118_0121_truck_588_282_data",
|
||||
"wf_batch013_202601_0121_0124_truck_588_282_data",
|
||||
"wf_batch014_202601_0125_0131_data",
|
||||
"wf_batch017_202509_0901_0910_data",
|
||||
"wf_batch021_zhongka_bev_biaozhu_front_240710_240718",
|
||||
"wf_batch025_zhongka_bev_biaozhu_front_241213_241225"
|
||||
],
|
||||
"removed_batches": [
|
||||
"addw_face",
|
||||
"ddaw",
|
||||
"labels"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -33,10 +33,11 @@ profiles:
|
||||
scope_key: "lane:lane_v1"
|
||||
export_default: lane_gt_txt
|
||||
ml_adapter: lane_ufld
|
||||
cuboid_7cls:
|
||||
scope_key: "adas:cuboid_7cls"
|
||||
export_default: cvat_cuboid
|
||||
det_7cls:
|
||||
scope_key: "adas:det_7cls"
|
||||
export_default: yolo
|
||||
ml_adapter: adas_yolo26
|
||||
cvat_label_type: rectangle
|
||||
cvat_labels:
|
||||
- pedestrian
|
||||
- car
|
||||
@@ -45,3 +46,13 @@ profiles:
|
||||
- motorcycle
|
||||
- tricycle
|
||||
- traffic cone
|
||||
cuboid_7cls:
|
||||
scope_key: "adas:cuboid_7cls"
|
||||
export_default: cvat_cuboid
|
||||
ml_adapter: adas_yolo26
|
||||
cvat_label_type: cuboid
|
||||
adas:
|
||||
scope_key: "dms:adas"
|
||||
export_default: yolo
|
||||
ml_adapter: adas_yolo26
|
||||
cvat_label_type: rectangle
|
||||
|
||||
Reference in New Issue
Block a user