File size: 1,948 Bytes
3a464db | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | #!/usr/bin/env bash
# Fast-dDrive Waymo-E2E open-loop evaluation launcher.
#
# Required env:
# EVAL_JSON β Waymo E2E validation JSON
# IMAGE_ROOT β root that EVAL_JSON's image paths are relative to
#
# Optional env:
# MODEL_PATH β Fast-dDrive checkpoint dir or HuggingFace id
# (default: Efficient-Large-Model/Fast-dDrive β paper checkpoint on the HF Hub)
# MODE β section_diffusion | scaffold_spec | inference_scaling
# (default: scaffold_spec β paper canonical SS)
# OUTPUT_DIR β default: fast_ddrive/eval_outputs/<ckpt_basename>_<mode>
# NUM_GPUS β default: auto-detect from nvidia-smi
# MAX_SAMPLES β default: full validation set
set -eo pipefail
FAST_DDRIVE_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
MODEL_PATH="${MODEL_PATH:-Efficient-Large-Model/Fast-dDrive}"
: "${EVAL_JSON:?Set EVAL_JSON to the Waymo E2E val JSON path.}"
: "${IMAGE_ROOT:?Set IMAGE_ROOT to the directory referenced by EVAL_JSON image paths.}"
MODE="${MODE:-scaffold_spec}"
NUM_GPUS="${NUM_GPUS:-$(nvidia-smi --list-gpus 2>/dev/null | wc -l | tr -d '[:space:]')}"
[[ "${NUM_GPUS}" =~ ^[0-9]+$ ]] && [ "${NUM_GPUS}" -ge 1 ] || NUM_GPUS=1
OUTPUT_DIR="${OUTPUT_DIR:-${FAST_DDRIVE_ROOT}/eval_outputs/$(basename "${MODEL_PATH}")_${MODE}}"
echo "=========================================="
echo "Fast-dDrive eval"
echo " Model: ${MODEL_PATH}"
echo " Mode: ${MODE}"
echo " NUM_GPUS: ${NUM_GPUS}"
echo " Output: ${OUTPUT_DIR}"
echo "=========================================="
python3 "${FAST_DDRIVE_ROOT}/eval/batch_inference.py" \
--model_path "${MODEL_PATH}" \
--eval_json "${EVAL_JSON}" \
--image_root "${IMAGE_ROOT}" \
--output_dir "${OUTPUT_DIR}" \
--mode "${MODE}" \
--num_gpus "${NUM_GPUS}" \
${CONFIDENCE_THRESHOLD:+--confidence_threshold ${CONFIDENCE_THRESHOLD}} \
${MAX_SAMPLES:+--max_samples ${MAX_SAMPLES}} \
"$@"
|