Files
HSAP/scripts/seed_lake_example.sh

54 lines
2.0 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# 将 lake/lake_example 样例批次复制到数据湖 inbox供接手人走通送标流程
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"
SRC="$ROOT/lake/lake_example/datasets"
if [[ ! -d "$SRC/dms/inbox" ]]; then
echo "未找到 $SRC,请确认已 git clone 完整仓库"
exit 1
fi
# 数据湖根目录(与 docker-compose AS_DATA_LAKE_HOST 一致)
DATA_LAKE="$(cd "$ROOT/.." && pwd)/data"
if [[ -f .env ]]; then
val="$(grep -E '^AS_DATA_LAKE_HOST=' .env 2>/dev/null | head -1 | cut -d= -f2- | tr -d '"' || true)"
[[ -n "$val" ]] && DATA_LAKE="$val"
fi
ADAS_LAKE="$DATA_LAKE/送标/adas"
mkdir -p "$ADAS_LAKE/inbox" "$ROOT/datasets/dms/inbox" "$ROOT/datasets/lane/inbox"
# ADAS 走数据湖挂载DMS/Lane 在仓库 datasets/ 下
if [[ ! -e "$ROOT/datasets/adas" ]]; then
ln -sfn ../../data/送标/adas "$ROOT/datasets/adas"
echo "已创建 datasets/adas → data/送标/adas"
elif [[ -L "$ROOT/datasets/adas" ]]; then
echo "datasets/adas 软链已存在"
else
echo "警告: datasets/adas 已存在且非软链ADAS 样例将写入该目录"
fi
RSYNC=(rsync -rlpt --no-owner --no-group --ignore-existing)
echo "数据湖根: $DATA_LAKE"
echo "复制 lake_example → inbox不覆盖已有批次…"
echo ""
"${RSYNC[@]}" "$SRC/dms/inbox/" "$ROOT/datasets/dms/inbox/"
"${RSYNC[@]}" "$SRC/lane/inbox/" "$ROOT/datasets/lane/inbox/"
mkdir -p "$ADAS_LAKE/inbox"
"${RSYNC[@]}" "$SRC/adas/inbox/" "$ADAS_LAKE/inbox/"
echo ""
echo "样例批次已就位。manifest: lake/lake_example/datasets/manifest.yaml"
echo ""
echo "平台启动后走通流程:"
echo " 1. 登录 http://127.0.0.1:8787 AS_DEV_AUTH=true 开发登录)"
echo " 2. 批次台账 → 扫描数据湖 → 勾选样例 → 登记到台账"
echo " 3. 送标工作台 → 选择批次 → 开标"
echo " 4. 标注进度 → 分配任务 → 标注员「我的标注」进入 CVAT"
echo ""
echo "推荐先试: adas/det_7cls/20260616_adas2d_pilot 或 adas/cuboid_7cls/20260616_3d_pilot"