feat: record training history#181
Closed
JemmaLDaniel wants to merge 1 commit into
Closed
Conversation
Collaborator
Author
|
This PR is encompassed in #190 |
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.
Record training history during calibrator fitting
Summary
Adds a
TrainingHistorydataclass and integrates it into the calibrator'sfitmethod so that training metrics (loss curve, validation scores, iteration count) are captured and persisted after training. This enables post-hoc analysis of training convergence and makes it easier to diagnose issues like underfitting or early stopping behaviour.Changes
winnow/calibration/calibrator.py:TrainingHistorydataclass with fields:loss_curve,validation_scores,final_training_loss,final_validation_score,n_iter.TrainingHistory.save(path)/TrainingHistory.load(path)— JSON serialisation for persisting histories.TrainingHistory.plot(output_path, show)— matplotlib visualisation of loss and validation curves.Calibrator.fit()now returns aTrainingHistoryinstance extracted from the fittedMLPClassifier.winnow/calibration/__init__.py— re-exportsTrainingHistory.winnow/scripts/main.py— thetrainCLI command now saves the training history JSON alongside the model output.winnow/configs/train.yaml— addshistory_outputconfig key for specifying the history file path.docs/api/calibration.md— documentsTrainingHistoryand its methods.tests/calibration/test_calibrator.py— tests thatfitreturns aTrainingHistorywith expected fields, and tests for save/load/plot round-tripping.