Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
b7f9361
Add SLAC FEL model files and preliminary workflow
pluflou Feb 27, 2026
0e1b23a
add toml
pluflou Feb 27, 2026
320ec85
adjust FEL model, add NaN handling
pluflou Mar 2, 2026
482da12
add NaN handling to continuous_monitor
pluflou Mar 2, 2026
84a09a3
adjust detection interval
pluflou Mar 2, 2026
f6c9aae
adding dependency
pluflou Mar 2, 2026
0849c88
clean up toml
pluflou Mar 2, 2026
f867ef4
handle NaNs in model
pluflou Mar 3, 2026
a771988
minor adjustments to max history and config
pluflou Mar 3, 2026
0dfd679
ruff lint and format
pluflou Mar 3, 2026
ab906e5
formatting
pluflou Mar 3, 2026
d774b85
fix mypy errors
pluflou Mar 3, 2026
3f24c96
fix boolean metric logging
pluflou Mar 3, 2026
45d670d
update docstrings
pluflou Mar 3, 2026
7f8e5cc
adjust windowing strategy, add printout of ts
pluflou Mar 3, 2026
f499d0e
add plotting notebook
pluflou Mar 3, 2026
b0bc08f
add plotting notebook
pluflou Mar 3, 2026
81a3ecb
linting
pluflou Mar 3, 2026
1fb3f01
Reintroducing the config_path parameter
anagainaru Mar 4, 2026
4cc4713
Saving the model after continual learning
anagainaru Mar 5, 2026
3dd7876
wip
anagainaru Mar 5, 2026
833e4f0
Rebuilding lock file for CI (#93)
andrewfayres Mar 10, 2026
cbd3c56
Running MNIST example on Perlmutter (#78)
rz4 Mar 11, 2026
1d140fd
Running MNIST example on Frontier (#67)
rz4 Mar 24, 2026
36b2a42
Bug fix in jvp updater (#94)
anagainaru Apr 7, 2026
150b876
Add SLAC FEL model files and preliminary workflow
pluflou Feb 27, 2026
0622651
add toml
pluflou Feb 27, 2026
8712c87
adjust FEL model, add NaN handling
pluflou Mar 2, 2026
3338498
add NaN handling to continuous_monitor
pluflou Mar 2, 2026
c518a0e
adjust detection interval
pluflou Mar 2, 2026
bb2f5e9
adding dependency
pluflou Mar 2, 2026
dc13712
clean up toml
pluflou Mar 2, 2026
12b96c7
handle NaNs in model
pluflou Mar 3, 2026
6f339bc
minor adjustments to max history and config
pluflou Mar 3, 2026
fb5d554
ruff lint and format
pluflou Mar 3, 2026
b00be9e
formatting
pluflou Mar 3, 2026
cf2bd45
fix mypy errors
pluflou Mar 3, 2026
981bf97
fix boolean metric logging
pluflou Mar 3, 2026
3223042
update docstrings
pluflou Mar 3, 2026
2706acd
adjust windowing strategy, add printout of ts
pluflou Mar 3, 2026
4038be7
add plotting notebook
pluflou Mar 3, 2026
1547525
add plotting notebook
pluflou Mar 3, 2026
a00a6ea
linting
pluflou Mar 3, 2026
0515372
Reintroducing the config_path parameter
anagainaru Mar 4, 2026
f6b62bf
Saving the model after continual learning
anagainaru Mar 5, 2026
148a7f8
updates to jupyter nb
pluflou Apr 21, 2026
7e724b9
add new model and adjust names/YAML to BACT
pluflou Apr 21, 2026
db9d47e
update to new model
pluflou Apr 21, 2026
4377e5b
update file/window loading to be even lazier
pluflou Apr 22, 2026
61c84f5
add plotting module
pluflou Apr 22, 2026
5fda53a
Merge remote-tracking branch 'origin/slac-fel' into slac-fel
pluflou Apr 22, 2026
2543f5b
minor updte to number of files
pluflou Apr 22, 2026
36d4c7a
clean up utils
pluflou Apr 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Data and configs
*.toml
#*.toml
examples/slac_fel/data/
# DS_Store files
.DS_Store
.idea

double_check_data.ipynb
uv.lock

# Logging files
*.db
Expand Down
29 changes: 26 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,30 @@ poetry run ruff check .
poetry run mypy .
```

## Current Integration Notes
## Deployment

- `EnsembleDetector` exists but is not wired in `load_drift_detector(...)`.
- `ModelPerformanceDetector` and `EvalDetector` need additional runtime wiring for full monitor integration.
Platform-specific deployment guides:

- [NERSC Perlmutter](./src/deployment/perlmutter/README.md)

## What `main.py` Does
- Builds the `DummyCNN_MNIST` model defined in `src/model/DummyCNN_MNIST.py`, a cross-entropy loss, and an Adam optimizer.
- Loads the MNIST training split, stacks the tensors, and iterates over 10 tasks (digits 0–9). Each task applies random rotation and translation to encourage continual adaptation.
- Maintains replay buffers (`memory_image`, `memory_label`, etc.) so past samples remain available for rehearsal while training new tasks.
- Calls `CL(...)` to assemble task-specific dataloaders and drive the `One_task_CL` loop. The loop trains for five epochs, records loss/accuracy metrics, and prints periodic progress reports.
- Computes sensitivity scores with `src/validation/validation_utils/return_score` after each task; you can repurpose these values for analysis or adaptive triggers.

## Tuning Tips
- Change the number of epochs by editing `n_epoch` inside `CL`.
- Adjust replay/adversarial update counts through the `params` dictionaries in `One_task_CL` and `util.update_CL_`.
- Experiment with different transforms or task definitions by modifying `data.py`.
- Update batch sizes by changing the `batch_size` parameter used when constructing the dataloaders.

## Output
Training logs report the task id, training/test accuracy, and replay-memory accuracy every five epochs. Accuracy is computed via `test(...)` on both the current task and the accumulated memory set.

## Deployment

Platform-specific deployment guides:

- [OLCF Frontier](./src/deployment/frontier/README.md)
Empty file added examples/slac_fel/__init__.py
Empty file.
Loading
Loading