v0.3.0
Added
- Add
"ridge_probe"finetuning strategy: closed-form streaming ridge regression probing on frozen backbone features. Single pass over the dataloader, eigendecomposition-based λ sweep, no hyperparameter tuning needed. For high-dimensional backbones,max_features(default 5000) triggers a Gaussian random projection seeded byExperiment.seed; multi-seed runs therefore produce different projections and enable variance estimation (#21). - Add
FlattenHeadhead type (used internally by ridge probing) (#21). - Add
RidgeProbingTrainingconfig withkind="ridge"discriminator for theTrainingunion (#21). - Add pytest to the CI workflow to run tests on each pull request (#18).
- Add
max_meta_experimentsargument tohelpers.run_multiple_per_node()as alternative tomax_experiments_per_node(#17). - Add
training_required_modulesparameter to the backbones (#20). - Expose the
preloadparameter of datasets (#26). - Add
CITATION.cffmetadata file and a Zenodo DOI badge in the README for archival citation via Zenodo (#27).
Changed
- Popularize the use of
import open_eeg_bench as oebvia the README and documentation (#17). - Improve import hints via the
__all__variable in__init__.py(#17). - All backbones now use
peft_target_modules="all-linear"by default for simplicity, which leads to a slight increase in the number of parameters being finetuned (#20). - Change default
LoRA.biasto "none" to match PEFT's default (#20). - Allow disabling dropout layers of the backbone (default: True) (#20).
- Change default
Experiment.seedfrom 42 to 0 (#21).
Fixed
- The lazy modules are now initialized before and after applying the PEFT (necessary for some PEFT methods like OFT) (#17).
- Take into account BENDR's channels projection fix in the BENDR backbone (#20).
Full Changelog: v0.2.1...v0.3.0