Skip to content

Update IterationControl to 0.6 and address breakages - #84

Draft
ablaom wants to merge 13 commits into
devfrom
history3
Draft

ablaom wants to merge 13 commits into
devfrom
history3

Conversation

@ablaom

@ablaom ablaom commented Oct 25, 2026 •

Copy link
Copy Markdown
Member

This PR updates IterationControl to 0.6, making some new features available. This addresses some shortcomings summarized at JuliaAI/IterationControl.jl#64.

This PR also resolves the bug #83, but I will probably work on a non-breaking patch for this, minus a new test.

Needs:

Draft release notes

  • (new feature) An update to IterationControl 0.6 means that a detailed trace is available for each control. Traces are accessed using report(mach).traces, where mach is the machine bound to the IteratedModel instance. This means explicit callbacks to record things like the out-of-sample loss are unnecessary, unless live tracking is required. On warm restarts, there is an option to extend the existing traces (set warm_restart_extends_traces = true). Refer to the new IteratedModel doc-string for details.

  • (breaking) The form of report(mach) for a machine bound to a IteratedModel has
    changed. Whereas before, traces = report(mach).controls, now do traces = report(mach).traces. The form of traces has also changed; it is now a vector of
    IterationControl.ControlTrace objects; see IterationControl.jl version 0.6 for
    details.

  • (breaking - new default) WithIterationsDo() is now the same as
    WithIterationsDo(identity)

  • (breaking - new default) WithEvaluationDo() is now the same as
    WithEvaluationDo(identity)

  • (breaking - new default) WithFittedParamsDo() is now the same as
    WithFittedParamsDO(identity)

  • (breaking - new default) WithReportDo() is now the same as
    WithReportDo(identity)

  • (breaking - new default) WithMachineDo() is now the same as
    WithMachineDo(identity)

  • (breaking - new default) WithModelDo() is now the same as
    WithModelDo(identity)

  • (mildly breaking) With the exception of Save, controls that had a <:Function
    type parameter (corresponding to a callback function) no longer do so.

  • (bug fix) Resolve incorrect behavior when using scores instead of losses (Different behaviour for score versus loss. #83)

@review-notebook-app

Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@ablaom
ablaom marked this pull request as draft October 25, 2026 21:33
@ablaom ablaom closed this Nov 7, 2026
@ablaom ablaom reopened this Nov 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant