#!/usr/bin/env bash set -euo pipefail REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" cd "${REPO_ROOT}" if [[ -f "${REPO_ROOT}/models/DreamDojo/.venv/bin/activate" ]]; then source "${REPO_ROOT}/models/DreamDojo/.venv/bin/activate" fi PROCESSED_ROOT="${PROCESSED_ROOT:-datasets/processed/ctrl_world_robo_multiview}" SVD_MODEL_PATH="${SVD_MODEL_PATH:-checkpoints/stabilityai/stable-video-diffusion-img2vid}" CLIP_MODEL_PATH="${CLIP_MODEL_PATH:-checkpoints/openai/clip-vit-base-patch32}" OUTPUT_DIR="${OUTPUT_DIR:-${PROCESSED_ROOT}/checkpoints}" GPUS_PER_NODE="${GPUS_PER_NODE:-8}" NNODES="${NNODES:-1}" NODE_RANK="${NODE_RANK:-0}" MASTER_ADDR="${MASTER_ADDR:-127.0.0.1}" MASTER_PORT="${MASTER_PORT:-29501}" TRAIN_ARGS=( -m finetuning.train_ctrl_world --processed-root "${PROCESSED_ROOT}" --manifest-path "${PROCESSED_ROOT}/manifest.json" --svd-model-path "${SVD_MODEL_PATH}" --clip-model-path "${CLIP_MODEL_PATH}" --output-dir "${OUTPUT_DIR}" --action-key eef_sim_pose_action --state-key eef_sim_pose_state --action-dim 12 --n-views 4 --fps 5 ) if [[ "${NNODES}" -gt 1 || "${GPUS_PER_NODE}" -gt 1 ]]; then accelerate launch \ --num_processes "$((NNODES * GPUS_PER_NODE))" \ --num_machines "${NNODES}" \ --machine_rank "${NODE_RANK}" \ --main_process_ip "${MASTER_ADDR}" \ --main_process_port "${MASTER_PORT}" \ "${TRAIN_ARGS[@]}" "$@" else python "${TRAIN_ARGS[@]}" "$@" fi