File size: 4,417 Bytes
4c1c394
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
088c657
 
 
 
 
 
4c1c394
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3529287
 
 
 
b49845a
 
 
3529287
4c1c394
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
"""Command-line argument definitions for the SAE Feature Explorer."""

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("--data", type=str, required=True)
parser.add_argument("--image-dir", type=str, required=True,
                    help="Primary image directory used during precompute")
parser.add_argument("--extra-image-dir", type=str, default=[], nargs="*",
                    help="Additional image directories used during precompute")
parser.add_argument("--thumb-size", type=int, default=256)
parser.add_argument("--inference-cache-size", type=int, default=64,
                    help="Number of images to keep in the patch-activations LRU cache")
parser.add_argument("--names-file", type=str, default=None,
                    help="Path to JSON file for saving feature names "
                         "(default: <data>_feature_names.json)")
parser.add_argument("--primary-label", type=str, default="Primary",
                    help="Display label for the primary --data file")
parser.add_argument("--clip-model", type=str, default="openai/clip-vit-large-patch14",
                    help="HuggingFace CLIP model ID for free-text search")
parser.add_argument("--google-api-key", type=str, default=None,
                    help="Google API key for Gemini auto-interp button "
                         "(default: GOOGLE_API_KEY env var)")
parser.add_argument("--sae-url", type=str, default=None,
                    help="Download URL for SAE weights — shown as a link in the summary panel")
parser.add_argument("--phi-dir", type=str, default=None,
                    help="Directory containing Phi_cv_*.npy, phi_c_*.npy, voxel_coords.npy")
parser.add_argument("--phi-model", type=str, default=None,
                    help="Model name substring to match phi files "
                         "(default: pick largest Phi_cv_*.npy by file size)")
parser.add_argument("--dynadiff-modal-url", type=str, default=None,
                    help="Modal endpoint URL for DynaDiff reconstruction "
                         "(alternative to --dynadiff-dir; no local GPU required)")
parser.add_argument("--dynadiff-modal-token", type=str, default=None,
                    help="Bearer token for the DynaDiff Modal endpoint "
                         "(or set DYNADIFF_MODAL_TOKEN env var)")
parser.add_argument("--dynadiff-dir", type=str, default=None,
                    help="Path to the local dynadiff repo")
parser.add_argument("--dynadiff-checkpoint", type=str,
                    default="dynadiff_padded_sub01.pth",
                    help="Checkpoint filename (relative to --dynadiff-dir or absolute)")
parser.add_argument("--dynadiff-h5", type=str,
                    default="extracted_training_data/consolidated_sub01.h5",
                    help="Path to fMRI H5 (relative to --dynadiff-dir or absolute)")
parser.add_argument("--brain-data", type=str, default=None,
                    help="Path to brain_meis.pt produced by precompute_nsd_meis.py")
parser.add_argument("--brain-thumbnails", type=str, default=None,
                    help="Directory containing NSD JPEG thumbnails (nsd_XXXXX.jpg)")
parser.add_argument("--brain-label", type=str, default="NSD Brain (DINOv2 L11)",
                    help="Dataset label shown in the dropdown for --brain-data")
parser.add_argument("--sae-path", type=str, default=None,
                    help="Path to SAE state-dict .pth file for live GPU inference")
parser.add_argument("--backbone", type=str, default="dinov2",
                    help="Backbone name matching the SAE (default: dinov2)")
parser.add_argument("--layer", type=int, default=11,
                    help="Backbone layer used during SAE training (default: 11)")
parser.add_argument("--top-k", type=int, default=100,
                    help="SAE top-k sparsity (default: 100)")

parser.add_argument("--examples-file", type=str, default=None,
                    help="JSON file of preset feature combinations for the Examples panel. "
                         "Format: [{\"name\": \"...\", \"features\": [{\"feat\": N, "
                         "\"lam\": 3.0, \"threshold\": 0.10}, ...]}, ...]")
parser.add_argument("--editable-examples", action="store_true", default=False,
                    help="Show a 'Save as Preset' button that appends the current "
                         "steering list to the examples file")

args = parser.parse_args()