| #SBATCH --job-name=dovla_ext_vla | |
| #SBATCH --account=def-yalda_gpu | |
| #SBATCH --nodes=1 | |
| #SBATCH --ntasks=1 | |
| #SBATCH --cpus-per-task=8 | |
| #SBATCH --gres=gpu:nvidia_h100_80gb_hbm3_1g.10gb:1 | |
| #SBATCH --mem=40G | |
| #SBATCH --time=04:00:00 | |
| #SBATCH --output=outputs/hpc/logs/%x_%j.out | |
| #SBATCH --error=outputs/hpc/logs/%x_%j.err | |
| set -euo pipefail | |
| PROJECT_DIR="${PROJECT_DIR:-$SLURM_SUBMIT_DIR}" | |
| MODEL_FAMILY="${MODEL_FAMILY:-smolvla}" | |
| DATASET="${DATASET:?Set DATASET to the held-out DoVLA-CIL dataset}" | |
| OUT="${OUT:?Set OUT to a run directory}" | |
| CHECKPOINT="${CHECKPOINT:-}" | |
| ADAPTER_ENTRYPOINT="${ADAPTER_ENTRYPOINT:-}" | |
| ADAPTER_CONFIG="${ADAPTER_CONFIG:-}" | |
| PYTHON="${PYTHON:-python}" | |
| DRY_RUN="${DRY_RUN:-0}" | |
| cd "$PROJECT_DIR" | |
| mkdir -p "$OUT" outputs/hpc/logs | |
| ARGS=( | |
| scripts/run_external_vla_baseline.py | |
| --model-family "$MODEL_FAMILY" | |
| --dataset "$DATASET" | |
| --out "$OUT" | |
| --python "$PYTHON" | |
| ) | |
| if [[ -n "$CHECKPOINT" ]]; then | |
| ARGS+=(--checkpoint "$CHECKPOINT") | |
| fi | |
| if [[ -n "$ADAPTER_ENTRYPOINT" ]]; then | |
| ARGS+=(--adapter-entrypoint "$ADAPTER_ENTRYPOINT") | |
| fi | |
| if [[ -n "$ADAPTER_CONFIG" ]]; then | |
| ARGS+=(--adapter-config "$ADAPTER_CONFIG") | |
| fi | |
| if [[ "$DRY_RUN" == "1" ]]; then | |
| ARGS+=(--dry-run) | |
| else | |
| ARGS+=(--require-ready) | |
| fi | |
| "$PYTHON" "${ARGS[@]}" | |