File size: 2,225 Bytes
b0e01a5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
49
50
51
#!/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 $? ==="