#!/bin/bash # ============================================================================ # ViTViz — probe ε×métricas SAGA-REAL (paper-exact ensemble ViT + BiT-M-R152x4). # Re-roda SÓ o SAGA com o ensemble paper-exact nos 4 modelos × 7 ε × 200 imgs, # corrigindo o probe notgr4 (job 1436) que rodou SAGA-single por engano. # Job ARRAY: 4 modelos (tasks 0-3), 2 em paralelo (%2). # A100 full only (exclui RTX [1-5] + nós down [8,10] + MIG [6]) → node7/node9. # HF offline: BiT (3.5GB) já cacheado → evita resolver/lockar via HF (hang de NFS). # Submeter: cd ~/ViTViz && sbatch scripts/probe_array_saga_real.sh # Pós: rsync results/raw/probe_eps_curve_tcc_saga_real/ → merge com notgr4 (FGSM/PGD/MIM). # ============================================================================ #SBATCH --job-name=vitviz_probe_saga_real #SBATCH --partition=short-simple #SBATCH --qos=simple #SBATCH --array=0-3%2 #SBATCH --exclude=cluster-node[1-6,8,10] #SBATCH --cpus-per-task=8 #SBATCH --mem=32G #SBATCH --gres=gpu:1 #SBATCH --time=12:00:00 #SBATCH --output=/home/CIN/%u/ViTViz/logs/%x_%A_%a.out #SBATCH --error=/home/CIN/%u/ViTViz/logs/%x_%A_%a.err set -euo pipefail cd "$HOME/ViTViz" mkdir -p logs if [ -f "$HOME/ViTViz/.venv/bin/activate" ]; then source "$HOME/ViTViz/.venv/bin/activate" elif [ -f "$HOME/vitviz_venv/bin/activate" ]; then source "$HOME/vitviz_venv/bin/activate" fi # BiT/ViTs já cacheados → ler do cache direto, sem rede/lock (evita rpc_wait de NFS). export HF_HUB_OFFLINE=1 export TRANSFORMERS_OFFLINE=1 export HF_HUB_DISABLE_TELEMETRY=1 MODELS=("ViT-S/16 · ImageNet-1k" "ViT-S/32 · ImageNet-1k" "ViT-B/32 · ImageNet-1k" "ViT-B/16 · ImageNet-1k") MODEL="${MODELS[$SLURM_ARRAY_TASK_ID]}" echo "=== probe SAGA-real (paper-exact, offline) | task $SLURM_ARRAY_TASK_ID -> $MODEL | $(hostname) | $(date) ===" echo "python: $(which python) | HF_HUB_OFFLINE=$HF_HUB_OFFLINE" nvidia-smi --query-gpu=name,memory.total --format=csv,noheader 2>/dev/null || true python experiments/run_attack_sweep.py \ --config configs/experiments/exp_probe_eps_curve_tcc_saga_real.yaml \ --model-name "$MODEL" \ --device cuda echo "=== task $SLURM_ARRAY_TASK_ID ($MODEL) done — exit $? ==="