Changelog¶
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.2.0 - 2025-02-05¶
Features¶
- made optional params Optional in Pydantic definition (01b060d by mgrapotte).
Bug Fixes¶
- added to gitignore. (c2f6c03 by mgrapotte).
- sometimes tuning reports no best trial found (daf30f2 by mgrapotte).
- added extra tests. (503048a by mgrapotte).
- tune should output results (e0ee5a3 by mgrapotte).
- added error checking for checking that output of tune is not None (d9e1bd5 by mgrapotte).
- fixed bad arg definition. (ddcc969 by mgrapotte).
- fix documentation error in check_model (7af84d0 by mgrapotte).
- fixed pytest not closing files and moved ray init outside of check_model. (15a92de by mgrapotte).
- run make format (f8dcaf6 by mgrapotte).
- ran make format (58cc43c by mgrapotte).
- added comments and ran make format (200e30a by mgrapotte).
- added debug section for checking tensor shapes and make format (748b887 by mgrapotte).
- fix linting issues (6ea4bb0 by mgrapotte).
- run make format (4256e88 by mgrapotte).
- correct tensor shapes. - stack during forward was not well executed - target shape was incorrect (b37f099 by mgrapotte).
- make format (189aab7 by mgrapotte).
- current implementation was considering everything as a slice. (539089d by mgrapotte).
- pass data refs through config instead of function def (fe76db1 by mgrapotte).
- replace bad model_param keyword with network_params in config (476b322 by mgrapotte).
- fixed arg issue (86cd582 by mgrapotte).
- fixed data init to be within the trainable setup, this prevents from passing data through ray object store (3e83e8b by mgrapotte).
- fix issue where raytune was not shutting down properly (74c1944 by mgrapotte).
- make format (789591f by mgrapotte).
- add init.py to make linter happy (01bf0bf by mgrapotte).
- fixed issues in raytune_learner (45e3292 by mgrapotte).
- fixed import error. (15f809f by mgrapotte).
- main was calling args.json instead of args.yaml (b5265b5 by mgrapotte).
- fix imports in raytune_learner (5bf0481 by mgrapotte).
- resolve merge conflicts (5e6faa0 by mgrapotte).
- added mode field to custom parameter class (8f8cd06 by mgrapotte).
- added arbitrary_type support for Domain (72e692e by mgrapotte).
- changed order of validator to output better error messages (39f1d0c by mgrapotte).
- modified gpu test config to accomodate for new Pydantic format (97158b5 by mgrapotte).
- fixed linting by adding punctuation to main docstring (c075a12 by mgrapotte).
- model_ is a pydantic protected namespace, replaced by network_ (d94df0a by mgrapotte).
Code Refactoring¶
- removed analysis default as it was outdated (3833486 by mgrapotte).
- use ray grid instead of dict. (6f6471e by mgrapotte).
- added error detection for tuning parsing. (31f833c by mgrapotte).
- refactored tuning cli to comply with current implementations. (8d627ed by mgrapotte).
- refactored check_model cli (ac60446 by mgrapotte).
- removed unused launch utils. (4e4519d by mgrapotte).
- fixed import to use refactored classes and removed unused flag with current paradigm (f014373 by mgrapotte).
- removed check_ressources function (088f85c by mgrapotte).
- explicit declaration of RunConfig (d2ceca8 by mgrapotte).
- refactored TuneConfig creation (47061ce by mgrapotte).
- now takes as input the seed instead of loading it from the config (270f068 by mgrapotte).
- now takes as input the model config directly instead of path (1868e71 by mgrapotte).
- run make format (07ca1c6 by mgrapotte).
- removed ressource allocation specifics since ray cluster will be initialized outside of the python script (7fb60d0 by mgrapotte).
- modified model_schema to output pydantic class instead of dumped model (d0f6d07 by mgrapotte).
- YamlConfigLoader now fully depends on pydantic class (4931f3b by mgrapotte).
- class YamlRayConfigLoader should properly use Pydantic classes (7241179 by mgrapotte). todo: Pydantic class does not yet use TunableParameters, YamlRayConfigLoader should be adapted for this (mostly the convert to ray method)
- moved validation from space_selector to pydantic (5bc0008 by mgrapotte).
- adding a pydantic class for dealing with tunable parameters (9213522 by mgrapotte).
- reverted changes for adding raytune objects in yaml config. (660fdc3 by mgrapotte).
- added Pydantic classes for parsing model yaml (6ee91ea by mgrapotte).
- have model yaml take ray search space directly (1ee47aa by mgrapotte).
- improve TransformLoader initialization and organization (94ca92b by mgrapotte).
- implement initial manager classes for dataset handling (f27101d by mgrapotte).
0.2.1 - 2025-02-05¶
0.2.2 - 2025-02-05¶
Bug Fixes¶
- remove deprecated tests from analysis types. (1dc4ed9 by mgrapotte).
- removed deprecated types from analysis in init.py. (7a7390f by mgrapotte).
- added split-yaml removed deprecated split json and run analysis-default. (ddd9c9f by mgrapotte).
Code Refactoring¶
- removed analysis cli since it is deprecated. (e2f44cf by mgrapotte).
0.2.3 - 2025-02-07¶
Bug Fixes¶
- src.stimulus.data -> stimulus.data. (b04546c by mgrapotte).
- src.stimulus.utils -> stimulus.utils. (55d1fed by mgrapotte).
0.2.4 - 2025-02-07¶
Bug Fixes¶
- test were failing, made format to fix it. (19dce1f by mgrapotte).
0.2.5 - 2025-02-12¶
Features¶
- removed test results from git push. (3f3f516 by mgrapotte).
- added dockerfiles. (c18489f by mgrapotte).
Bug Fixes¶
- fixed duplicate in ruff config. (eb9d3bf by mgrapotte).
- update ruff config to ignore shadowing python typing. (55d33be by mgrapotte).
- renamed dockerfiles directory as it was causing ci to crash. (6c19df4 by mgrapotte).
- ray init needs to be called in the run command otherwise ray cluster is not found. (c9526d6 by mgrapotte).
- ray init needs to be called in the run command, otherwise ray cluster is not found. (4ebd495 by mgrapotte).
0.3.0 - 2025-03-18¶
Features¶
- get device can now return mps backend objecs. (afd4e30 by mathysgrapotte).
- config parser now also responsible for dealing with suggesting parameters. (be51083 by mgrapotte).
- now supports variable lists in search space definition. (ff5e0b8 by mgrapotte).
- added extra test znf data. (ab15e5e by mgrapotte).
- added support for stimulus-split-yaml-split and stimulus-split-yaml-transform. (d85f6e0 by mgrapotte).
Bug Fixes¶
- fixed a bug where predict was not transfering the batch to the device (when device is not CPU). (1fa3e44 by mathysgrapotte).
- polars.vstack is deprecated, replaced by pl.concat. (989a1fd by mgrapotte).
- data handlers was calling the transform method instead of transform_all and passing a pl.series instead of a list. (8463e90 by mgrapotte).
- tests should now use temp_paths. (5368518 by mathysgrapotte).
- fix issue where spearmanr would cause a warning when labels/predictions would be constant, now outputs 0.0 correlation. (ecd9799 by mgrapotte).
- add option in case of divide by zero which disables warnings. (ddef6f5 by mgrapotte).
- fix importlib import errors. (af20925 by mgrapotte).
- added importlib_metadata dependencies. (57d1e35 by mgrapotte).
- teardown is now a fixture with autouse set to true. (414f315 by mgrapotte).
- redundant teardown. (7991a57 by mgrapotte).
- made teardown redundant. CI was failing because test is exectuting in parralel, CI workers do not share fixture state, so teardown was not called in all tests. (853a0a2 by mgrapotte).
- updated ray version since ray 2.43 introduces breaking changes. (dd0975f by mgrapotte).
- fix ray not shutting down properly in the tests. (6b58655 by mgrapotte).
- removed minor bugs. (2493bfb by mgrapotte).
- now path can be given as intended to shuffle-csv. (2fe4a0c by mgrapotte).
- fix linting (dfb7fca by mgrapotte).
- change -j flag to -y flag (48b7ea9 by V-E-D).
- fix linting issues. (7c2dd2a by mgrapotte).
- running make format. (736d6fc by mgrapotte).
Code Refactoring¶
- added extra yaml subconfigs. (11d2405 by mgrapotte).
- added ibis test files. (0401fac by mgrapotte).
- removing non-conclusive test files. (bb5a4f7 by mgrapotte).
- udpate check_model and tests. (59ae38a by mgrapotte).
- removed test_model_yaml since it has been moved to learner/interface. (4b5423b by mgrapotte).
- changed typing to follow optuna refactor. (eed338d by mgrapotte).
- tuning cli now up to date with optuna refactor. (6d8c431 by mgrapotte).
- removed tune related in tests. (a937370 by mgrapotte).
- removed tune related in src. (da28b82 by mgrapotte).
- finished optuna_tune. (234856b by mgrapotte).
- implemented optuna support, inital commit. (173d54f by mgrapotte).
- made dir paths shorter. (4f33101 by mgrapotte).
- tuning adapted to the new paradigm. (7b6ed78 by mgrapotte).
- added tuning cli refactoring. (6a371be by mgrapotte).
- refactored transform_csv to use click. (806b9b6 by mathysgrapotte).
- Change split_transforms to the new format (ec3784b by itrujnara).
- added refactoring for split_csv cli. (92558c0 by mathysgrapotte).
- updated shuffle_csv to the new paradigm. (e6a0e23 by mgrapotte).
- added refactoring for check-model cli. (09044c7 by mgrapotte).
- added main cli. (01d4532 by mgrapotte).
- gets a torchdataset as input. (973e6f6 by mgrapotte).
- moved raytune_learner to new paradigm. (3efda09 by mgrapotte).
- fix typing accross codebase. (ce0d5d4 by mgrapotte).
- removed test_data_yaml. (e3951f9 by mgrapotte).
- changed import paths and removed unused fixture. (8150042 by mgrapotte).
- removed test_experiment. (dcb2c80 by mgrapotte).
- made data_handlers more explicit and added extra function to parse various configs. (bdac5e4 by mgrapotte).
- added tests for config loading interface. (3c4e9b4 by mgrapotte).
- removed duplicate files. (21bc026 by mgrapotte).
- refactored tests for data_handlers. (6ffcf12 by mgrapotte).
- adapted TorchDataset to new paradigm. (f3f13b6 by mgrapotte).
- removed handlertorched and happend it to data_handlers. (377e72e by mgrapotte).
- removed loader and manager logic. (dbae19b by mgrapotte).
- added the interface module. (90f4bb1 by mgrapotte).
- data_config interface in a single module. (34049d0 by mgrapotte).
- added boilerplate code for instantiating encoders splitters and transforms. (fea0b87 by mgrapotte).
- added parse_config function signature. (6a6d21a by mgrapotte).
- changed filenames to have more consistant naming conventions. (576885e by mgrapotte).
- renamed to model_file_interface. (47026f8 by mgrapotte).
- renamed data_config_parsing to data_config_splitting. (14daba8 by mgrapotte).
- splitted yaml_data_schema and data_config_parsing. (c1df9cf by mgrapotte).
- renamed yaml_data into yaml_data_schema for consistency. (dbca1d5 by mgrapotte).
- made dumper cleaner. (8802c12 by mgrapotte).
- removed check_yaml, redundancy with pydantic functions. (e76d246 by mgrapotte).
0.4.0 - 2025-09-30¶
Compare with 0.3.0 Large change : adding huggingface support
Features¶
- Add more long string strategies in ASCII encoder (713ab4b by itrujnara).
- add ability to do per-sample metrics in an optional third directory. (1587ca8 by mathysgrapotte).
- added embeding methods to encode data + fixed encode to truly remove unwanted columns. (1a477be by mathysgrapotte).
- complete model suggestions will now be saved to best_config_json to allow the model to access it's loss function at inference. (5e52950 by mathysgrapotte).
- device available at config level. (f5e9422 by mathysgrapotte).
- modified schema and config parser to allow for converting a config into subconfigs. (630e3ea by mathysgrapotte).
- switching model to use train/inference duality instead of only batch function (66c8468 by mathysgrapotte).
- added api definition for in-python use. (2e21a30 by mathysgrapotte).
- also apply transformation and filter to test dataset. (58f782e by mathysgrapotte).
- add directory loading to transform_cs. (0220a07 by mathysgrapotte).
- hf_datasets integrated in model tuning (check_model and tuning ask a path to a hf dataset) (1c83460 by mathysgrapotte).
- encode now supports multiprocessing (954c9be by mathysgrapotte).
- encode now removes columns that are not associated with an encoder to save space (5d01d0a by mathysgrapotte).
- add a cli to encode the data and save it as a parquet dataset (55d244b by mathysgrapotte).
- split_csv transformed to huggingface integration and now uses only two splits (train/val) instead of three. (b14aaec by mathysgrapotte).
- added column swap as a transform. (99cd08f by mathysgrapotte).
- adding the swap transform which swaps 2 elements of a column n times. (204fdd9 by mathysgrapotte).
- removed predict dependency, now metrics depends on model's batch function. (23ba7af by mathysgrapotte).
- add the compare_tensors cli. (8675bf1 by mgrapotte).
- tuning cli now also returns the best config. (199d2c3 by mgrapotte).
- Add optional slicing to TextAsciiEncoder (e0d4c30 by itrujnara).
- optuna tune now depends on max-samples instead of max-batches. (000a2a3 by mathysgrapotte).
- add Docker push workflow (2d3d82a by itrujnara).
- added balance sampler and relevant tests. (ccbab8c by mathysgrapotte).
- data_handlers now support samplers. (7eb608a by mathysgrapotte).
- Add dtype handling to all encoders (8284f95 by itrujnara).
- Add dtype handling to column encoder parsing (338b892 by itrujnara).
- TextOneHot is now much faster. (2ec49f6 by mathysgrapotte).
Bug Fixes¶
- Make slice_long a property of the ASCII encoder (e3dcc6c by itrujnara).
- transform_csv now works correctly when the data is a string (eb58cf0 by itrujnara).
- fixed bad module import. (c8f5f2b by mathysgrapotte).
- removed bad input param for check_model. (02b2dc8 by mathysgrapotte).
- titanic_perf_model now outputs predictions as well as accuracy. (c2b2924 by mathysgrapotte).
- predict and compare tensors now take into account all metrics outputed by model. (65d88ae by mathysgrapotte).
- convert values to float when inputed to swap_transform. (b798b63 by mathysgrapotte).
- metrics dictionary now solely relies on pytorch tensors and compute average instead of dividing by number of batches. (6845a8d by mathysgrapotte).
- fixed errors where saving gpu tensor metrics would cause crashes. (f3cf281 by mathysgrapotte).
- Raise TypeError if config type is wrong (42be722 by itrujnara).
- text masker was outputing errors due to starmap being used instead of map. (d27e028 by mgrapotte).
- performance now properly takes care of cases where predictions is shamed (N,1) instead of (N,). (7ee27bf by mgrapotte).
- schema now allows for variable_list to be used. (149f6ea by mgrapotte).
- removed warnings from numericencoder since converting from float to int is an usecase. (7d9232a by mgrapotte).
- Replace einops with pure torch (157023a by itrujnara).
- fix tensor dimension in TextAsciiEncoder (6d97a91 by itrujnara).
- Fix error in TextAsciiEncoder (af09983 by itrujnara).
- fix docstrings in TextAsciiEncoder (80d2d99 by itrujnara).
- fix docstring in TextAsciiEncoder (474fa66 by itrujnara).
- Deepcopy column params (fdeda97 by itrujnara).
- Switch to left padding and make padded length an encoder attribute (6185d98 by itrujnara).
- Accept int parameters for column encoder (b194510 by itrujnara).
- fix type handling in ASCII encoder (785b083 by itrujnara).
Code Refactoring¶
- splitting yamls is now done in a single pass with modular config splitting. (2c9493d by mathysgrapotte).
- remove references to ray in the codebase. (9dc6ae5 by mathysgrapotte).
- removing all references to data_handlers. (cc771c5 by mathysgrapotte).
- predict now uses huggingface paradigm (2347c73 by mathysgrapotte).
- switch config parser and encoders to support native numpy typing. (eb3d0a4 by mathysgrapotte).
- change encoder tests to fit the new paradigm (npy array I/O) (db7d6e7 by mathysgrapotte).
- encoders now use numpy array for I/O. (c82cca7 by mathysgrapotte).
- compare tensor now outputs a descriptive csv, stats computation will happen downstream. (21fe75d by mathysgrapotte).
0.4.1 - 2025-09-30¶
0.4.2 - 2025-09-30¶
0.4.3 - 2025-09-30¶
0.5.0 - 2025-09-30¶
Features¶
- making type changes to allow for numpy version bump to >=2.0.0. - updating torch to 2.3.0 or above - adding model protocol for preventing mypy to see function outputs as Torch - adding a new device_utils module to avoid circular imports. (99a23da by mathysgrapotte).
0.5.1 - 2025-10-02¶
Features¶
- bumping scipy to over x.15.1 to solve compatibility issues with other packages. (9b8fd04 by mathysgrapotte).