[MNT] - Fixes parallel fitting for model fit post-processing & fit failure management#389
Merged
TomDonoghue merged 5 commits intomainfrom Mar 23, 2026
Merged
[MNT] - Fixes parallel fitting for model fit post-processing & fit failure management#389TomDonoghue merged 5 commits intomainfrom
TomDonoghue merged 5 commits intomainfrom
Conversation
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.
Responds to #388.
Issue: due to an error during updates in the re-organization, the paralellizer sub-function didn't call the full set of things it should do for fitting ('fit model, do post-processing, all while catching errors') but only called the algorithm fit function in isolation. This means that parallelized runs did not do post-processing (parameter conversions & metric evaluation), leaving a bunch of unexpected NaNs in the outputs, and also the model fit process was not in a try/except, meaning you could get unexpected fails.
This PR updates the approach to separate a
_fitmethod on the Model object that does the full set of tasks for a model fit, and then uses this for calls in parallelized runs.This PR also updates the tests for parallel runs to be more stringent, as the previous versions were lacking (did not catch these issues).