echo / code /scripts /run_precompute_ctx_target_latents.sh
amonshano's picture
Add Echo-Memory codebase used for this run (CC BY 4.0, JD Echo Team) (part 4)
c335050 verified
Raw
History Blame Contribute Delete
1.29 kB
#!/bin/bash
# Precompute ctx (1 latent/frame) and target (1 latent/4 frames) latents for Context-as-Memory dataset.
#
# No metadata needed: auto-discovers segments from frames/ + captions.txt
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="${REPO_ROOT:-$(cd "${SCRIPT_DIR}/.." && pwd)}"
DATASET_BASE="${DATASET_BASE_PATH:-${REPO_ROOT}/data/Context-as-Memory-Dataset}"
OUTPUT_DIR="${DATASET_BASE}/latents"
WAN_BASE_MODEL="${WAN_BASE_MODEL:-${REPO_ROOT}/checkpoints/Wan2.1-T2V-1.3B}"
MODEL_PATHS="${MODEL_PATHS:-[\"${WAN_BASE_MODEL}/diffusion_pytorch_model.safetensors\",\"${WAN_BASE_MODEL}/models_t5_umt5-xxl-enc-bf16.pth\",\"${WAN_BASE_MODEL}/Wan2.1_VAE.pth\"]}"
NUM_PROCESSES="${NUM_PROCESSES:-1}"
CONTEXT_FRAMES="${CONTEXT_FRAMES:-20}"
cd "${REPO_ROOT}"
accelerate launch --num_processes "${NUM_PROCESSES}" scripts/precompute_ctx_target_latents.py \
--dataset_base_path "${DATASET_BASE}" \
--output_dir "${OUTPUT_DIR}" \
--model_paths "${MODEL_PATHS}" \
--height 352 --width 640 \
--context_frames "${CONTEXT_FRAMES}" \
--target_frames_per_latent 4 \
--no_metadata \
--use_overlap_labels \
--overlap_labels_dense \
--skip_existing
echo "Done. Latents saved to ${OUTPUT_DIR}/ctx_latents/ and ${OUTPUT_DIR}/target_latents/"