| set -euo pipefail | |
| # 在部署机上运行: | |
| # bash scripts/setup_deploy.sh /path/to/RoboticsDiffusionTransformer | |
| # | |
| # 目标: | |
| # 1. 把 checkpoint 链接到 RDT 项目 checkpoints/ | |
| # 2. 把 lang_embed 链接到 data/datasets/agilex/rdt_data/ | |
| # 3. 复制 configs | |
| # 4. 提醒下载 base model 和 SigLIP | |
| PACKAGE_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" | |
| RDT_ROOT="${1:-$(pwd)}" | |
| echo "PACKAGE_ROOT = $PACKAGE_ROOT" | |
| echo "RDT_ROOT = $RDT_ROOT" | |
| if [ ! -d "$RDT_ROOT" ]; then | |
| echo "ERROR: RDT_ROOT not found: $RDT_ROOT" | |
| exit 1 | |
| fi | |
| mkdir -p "$RDT_ROOT/checkpoints" | |
| mkdir -p "$RDT_ROOT/data/datasets/agilex" | |
| mkdir -p "$RDT_ROOT/configs" | |
| ln -sfn "$PACKAGE_ROOT/checkpoint" "$RDT_ROOT/checkpoints/rdt_agilex_best" | |
| ln -sfn "$PACKAGE_ROOT/lang_embed" "$RDT_ROOT/data/datasets/agilex/rdt_data" | |
| # 复制配置到项目 configs;已有文件会保留备份 | |
| for f in "$PACKAGE_ROOT"/configs/*; do | |
| [ -f "$f" ] || continue | |
| base="$(basename "$f")" | |
| if [ -f "$RDT_ROOT/configs/$base" ]; then | |
| cp "$RDT_ROOT/configs/$base" "$RDT_ROOT/configs/$base.bak_before_rdt_agilex_deploy" | |
| fi | |
| cp "$f" "$RDT_ROOT/configs/$base" | |
| done | |
| echo | |
| echo "Linked:" | |
| echo " checkpoint -> $RDT_ROOT/checkpoints/rdt_agilex_best" | |
| echo " lang_embed -> $RDT_ROOT/data/datasets/agilex/rdt_data" | |
| echo | |
| echo "Next required on deployment machine:" | |
| echo " 1. Download or prepare base RDT-1B model." | |
| echo " 2. Download or prepare SigLIP vision encoder." | |
| echo " 3. Use precomputed language embeddings; T5-XXL is not required for deployment if inference code does not re-encode text." | |
| echo | |