Release/v3.2.0#222
Merged
Merged
Conversation
* refactor(data): add SimulationDataLoader and TensorFlowDatasestConverter * refactor(data): deprecate DataHandler and add DataHandlerFactory - Update configs_handler.DataConfigHandler to use DataHandlerFactory - Write scriv fragment - Correct scriv fragment of previous commit which did not uncomment edited blocks * Update, add, and deprecate data unit tests - add unit tests for SimulationDataLoader and TensorFlowDatasetConverter - update existing DataHandler and DataConfigHandler unit tests with backward compatibility - add new fixtures and helper methods - add pytest markers to pyproject.toml * refactor: add data loading trigger in DataHandlerFactory * Add target_field parameter to select stamps for training - Add target_field training and test sections in example data_config.yaml - Update simulation_data_loader to raise error if target_field is missing - Update fixtures and unit tests related to data_config handling * refactor: add load_data flag to DataHandlerFactory.create_from_config arg list * Add simPSF as class attribute * Save and convert all fields to tf float32 * Replace convert_dict with convert_inference_data * Replace convert_dict with convert_psf_dict * update methods in tensorflow_converter - rename convert_dict to convert_psf_dict - update convert_psf_dict to accept a target_field representing images to convert tf float - change functionality of convert_inference_data to match inference data handling pipeline * fix: update unit tests to validate object attribute sed_data * fix: update test module with changes in tensorflow_converter.py * Bump up version to 3.2.0 * fix: update doc string for convert_inference_data and format * fix: update factory to structure of inference dataset * fix: auto-correct of syntax * fix: update unit tests with behaviour of simulation_data_loader.py * update: add breaking change to changelog fragment * update: remove unused import from unit test module --------- Co-authored-by: Jennifer Pollack <jennifer.pollack@cea.fr>
Move config handlers from single monolithic file into their respective task packages while maintaining backward compatibility via lazy imports. Add ConfigHandler abstract base class to enforce consistent interface. Changes: - Add ConfigHandler ABC requiring run() method and ids attribute - Move config handlers to task packages: * DataConfigHandler → data/data_config_handler.py * TrainingConfigHandler → training/training_config_handler.py * MetricsConfigHandler → metrics/metrics_config_handler.py * PlottingConfigHandler → plotting/plotting_config_handler.py - Refactor configs_handler.py to registry-only (ABC + helper functions) - Add lazy imports via __getattr__ for backward compatibility - Register handlers automatically in wf_psf/__init__.py Tests: - Add TestConfigHandlerABC for ABC enforcement - Reorganize into TestConfigRegistry and TestTrainingConfigHandler classes - Add tests for all registered handlers inheriting from ConfigHandler - Update import paths throughout test suite Backward compatibility: - Old imports still work via __getattr__ lazy loading - Registry functions (get_run_config, set_run_config) unchanged - TYPE_CHECKING guard satisfies static analysis tools
- Add DataAdapter abstraction to unify dataset handling - Add factory for constructing adapters from loaders - Introduce TrainingDataAdapter for training-specific inputs/targets - Move dataset normalization and canonicalization logic into adapter
…eline - Simplify SimulationDataLoader to only load raw datasets - Update TensorFlowDatasetConverter interface - Remove duplicated processing logic in data utilities
- Remove ZernikeInputs and ZernikeFactory classes - Add ZernikeDataset dataclass to expose Zernike-related inputs - Apply minor formatting and doc string corrections
- Update DataConfigHandler to expose params and metadata - Simplify TrainingConfigHandler data config handling - Normalize data parameters upstream - Add new data configuration example files with new and updated parameters entries
…missing doc strings
- Apply data adapter set up in metrics_config_handler - Update datasets and keys for data access in metrics_interface - Add simPSF arg to evaluate_model in metrics_interface - Modify parameter and arg names in metrics_interface - Change `n_bins_lda` to `n_bins_lambda` in metrics_config.yaml
…red_keys arg - Correct type hints syntax to comply with 3.9+ - Add missing required_keys arg to convert_dataset required for TF conversion - Update ValueError message with correct hints in factory.py - Fix doc string and SEDs key (lowercase) in tensorflow_converter - Set `result_dict=dict(dataset)` to keep all data (not overwrite) in tensorflow_converter
- Add import `ensure_tensor` - Add positions attribute and replace previous position extraction method - Convert positions attribute to TensorFlow type
- Correct train/split index error due to evaluating wrong dataset
- Use canonical keys inside `_split` method to iterate over correct
dataset size
- Remove unnecessary code left in by accident
…full hyperparameters instead of loss
- Use clearer doc strings to all files - Add missing training fraction parameters for un-split datasets
- Update `data_adapter.py` and `data_config_handler.py` to use constants - Update _split method to use canonical keys class attribute
added 27 commits
June 5, 2026 15:03
quality - Add configurable schema_mode for inference workflows - Simplify nested inference and training configuration namespaces - Add structured logging for inference pipeline operations - Replace untyped adapter initialization with explicit optional type hints
…tor objects and method calls in unit test
- Update parameter description for clarity - Update installation guide on environment and dependencies - Update configuration guide section with new schema_mode parameter
…adapter - Add helper method for converting inference data to tensorflow type - Re-arrange sequence of data adaptation - Replace model_data_adapter with inference_data_adapter
0ffab2f to
5fa408b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This is the release-3.2.0 PR in completion of milestone:
All changelog fragments have been collected into
CHANGELOG.md.Repeatability tests with this branch passed.
What’s changed
How to test / verify
Scope
Changelog
Reviewer Checklist
develop, ormainfor release PRs)ruff)Next Steps / Notes (if applicable)