Skip to content

Changelog

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.2.0 - 2025-02-05

Compare with first commit

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

Compare with 0.2.0

0.2.2 - 2025-02-05

Compare with 0.2.1

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

Compare with 0.2.2

Bug Fixes

  • src.stimulus.data -> stimulus.data. (b04546c by mgrapotte).
  • src.stimulus.utils -> stimulus.utils. (55d1fed by mgrapotte).

0.2.4 - 2025-02-07

Compare with 0.2.3

Bug Fixes

  • test were failing, made format to fix it. (19dce1f by mgrapotte).

0.2.5 - 2025-02-12

Compare with 0.2.4

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

Compare with 0.2.6

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

Compare with 0.4.0

0.4.2 - 2025-09-30

Compare with first commit

0.4.3 - 2025-09-30

Compare with 0.4.2

0.5.0 - 2025-09-30

Compare with 0.4.3

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

Compare with 0.5.0

Features

  • bumping scipy to over x.15.1 to solve compatibility issues with other packages. (9b8fd04 by mathysgrapotte).