Releases: braindecode/OpenEEGBench
Releases · braindecode/OpenEEGBench
v0.6.0
v0.5.0
Added
- Add a required
revisionfield onDataset(forwarded toBaseConcatDataset.pull_from_hub) and pin every default dataset config to its current HuggingFace commit SHA for reproducibility (#37). - Add
training_required_parametersfield on_BackboneBasefor top-levelnn.Parameternames that must remain trainable (e.g. Labram'stemporal_embedding). Distinct fromtraining_required_modules, which only acceptsnn.Modulenames. Finetuning methods declare compatibility via thesupports_training_required_parametersclass variable;IA3andOFTopt out.LoRA/AdaLoRA/DoRAforward the list to PEFT'starget_parameters;Frozen/TwoStagesextend their unfreeze list (#25).
Changed
- Allow custom normalization methods by subclassing
Normalization, now based onexca.helpers.DiscriminatedModel. Builtin subclasses pin their pre-existingkindvalue to preserve cached experiment UIDs (#35).
Full Changelog: v0.4.0...v0.5.0
v0.4.0
Added
- Add
ScratchBackbonefor benchmarking DL models without pretrained weights. Only compatible withFullFinetune(enforced by theExperimentvalidator) (#30). - Add
class_weightparameter toRidgeProbingTraining("balanced"orNone); default changed to"balanced"— passNonefor the previous unweighted behavior (#32). - Add
dtypeparameter toRidgeProbingTraining("float32"or"float64", default"float64"). Use"float32"only when necessary, e.g. on Apple MPS which does not support float64 (#32).
Changed
- Fill in the Zenodo concept DOI (
10.5281/zenodo.19698863) in the README DOI badge and the BibTeX snippet, and add it as anidentifiersentry inCITATION.cff.
Full Changelog: v0.3.0...v0.4.0
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
v0.2.1
Added
- PyPI metadata: project URLs and classifiers (#14).
- README badges: PyPI version, supported Python versions, tests status, HuggingFace Space (#14).
- New step in
publish.ymlto attach build artifacts (sdist + wheels) to the GitHub release (#14).
Full Changelog: v0.2.0...v0.2.1
v0.2.0
Added
- Benchopt interface for running benchmarks via the
benchopt_wrappersdirectory (#8). - Experiment wrapper allowing multiple experiments to run on the same node via Joblib (#10).
NoNormalizationtransform to simplify serialization (#11).- Option for
collect_resultsto wait for pending jobs (#11). - Experimental warnings on helper functions (#10).
- Skip experiments that are already completed (#10).
- Optional sorting in result collection (#10).
Changed
- Bumped
braindecodedependency to 1.4.0 (#12). - Set dataset
preload=Falseby default (#11). - Improved error parsing and infra
model_dumpoutput (#10). - Documentation now uses the
pip installcommand for installation instructions.
Fixed
- Corrected EEG montages handling (#9).
- Removed
infrafrom_exclude_from_cls_uidso jobs correctly honor theretryandforcemodes (#10).
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Initial release