Files
HSAP/scripts/smoke_dms_e2e_2img.sh
Chengfang Lu 483e027482 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>
2026-06-16 17:06:31 +08:00

75 lines
2.5 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# DMS 2 图端到端setup 落盘+开 Campaignrun 在标完后跑 提交→质检→导出→入库
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
export PYTHONPATH="$ROOT/platform:$ROOT"
BASE="${HSAP_API:-http://127.0.0.1:8787}"
BATCH="${DMS_E2E_BATCH:-e2e_2img_20260616}"
TASK="${DMS_E2E_TASK:-addw}"
PACK="${DMS_E2E_PACK:-dms_v1}"
PROJECT="${DMS_E2E_PROJECT:-dms}"
SRC_BATCH="${DMS_E2E_SRC_BATCH:-20260525_pilot}"
MIN_IMAGES="${DMS_E2E_MIN_IMAGES:-2}"
WAIT_LABEL_SEC="${DMS_E2E_WAIT_LABEL_SEC:-0}"
cmd="${1:-setup}"
setup_batch() {
local batch_dir="/data/hsap/datasets/dms/inbox/${TASK}/${BATCH}"
local src="/data/hsap/datasets/dms/inbox/${TASK}/${SRC_BATCH}/images/train"
echo "==> create batch ${batch_dir} (${MIN_IMAGES} images from ${SRC_BATCH})"
docker exec hsap-platform mkdir -p "${batch_dir}/images/train"
docker exec hsap-platform bash -c "
set -e
src='${src}'
dst='${batch_dir}/images/train'
n=0
for f in \"\$src\"/*.jpg; do
[ -f \"\$f\" ] || continue
cp \"\$f\" \"\$dst/\"
n=\$((n+1))
[ \"\$n\" -ge ${MIN_IMAGES} ] && break
done
echo copied=\$n
ls -la \"\$dst\"
"
docker exec hsap-platform python3 /data/hsap/as.py register-batch dms "${TASK}" "${BATCH}" --stage raw_pool
docker exec hsap-platform mkdir -p "${batch_dir}/labels/ls_annotations"
}
open_campaign() {
echo "==> open campaign via API ${BASE}"
python3 "$ROOT/platform/as_platform/tests/run_dms_e2e_pipeline.py" setup --api "$BASE" \
--batch "$BATCH" --task "$TASK" --project "$PROJECT" --pack "$PACK" --skip-files
}
case "$cmd" in
setup)
setup_batch
open_campaign
python3 "$ROOT/platform/as_platform/tests/run_dms_e2e_pipeline.py" info --api "$BASE" \
--batch "$BATCH" --task "$TASK" --project "$PROJECT"
echo ""
echo "请在平台标注 ${MIN_IMAGES} 张图后执行:"
echo " bash $0 run"
echo " 或: DMS_E2E_WAIT_LABEL_SEC=600 bash $0 run-wait"
;;
run|run-wait)
if [[ "$cmd" == "run-wait" && "$WAIT_LABEL_SEC" == "0" ]]; then
WAIT_LABEL_SEC=600
fi
python3 "$ROOT/platform/as_platform/tests/run_dms_e2e_pipeline.py" run --api "$BASE" \
--batch "$BATCH" --task "$TASK" --project "$PROJECT" --pack "$PACK" \
--min-images "$MIN_IMAGES" --wait-label-sec "$WAIT_LABEL_SEC"
;;
info)
python3 "$ROOT/platform/as_platform/tests/run_dms_e2e_pipeline.py" info --api "$BASE" \
--batch "$BATCH" --task "$TASK" --project "$PROJECT"
;;
*)
echo "usage: $0 {setup|run|run-wait|info}"
exit 1
;;
esac