Thanks to visit codestin.com
Credit goes to github.com

Skip to content

MNT Avoid repeating the no callback support warning - #34055

Merged
jeremiedbb merged 9 commits into
scikit-learn:mainfrom
FrancoisPgm:callback_one_warning_main
Jun 2, 2026
Merged

MNT Avoid repeating the no callback support warning#34055
jeremiedbb merged 9 commits into
scikit-learn:mainfrom
FrancoisPgm:callback_one_warning_main

Conversation

@FrancoisPgm

Copy link
Copy Markdown
Contributor

Reference Issues/PRs

reopening of #34026 after the deletion of the callbacks branch.

What does this implement/fix? Explain your changes.

Lazily create an attribute on the root context recording the messages of raised warnings for no callback support in a sub-estimator, so that if the warning is raised only once. This fix does not work when parallelizing the meta-estimator, but I don't see how to tackle that case without introducing some inter threads or processes communication and I don't think it would be worth it.

Add a check in the tests that the warning is only raised once.

Remove test_inner_estimator_no_callback_support which was testing the warning, as it is redundant with test_autopropagation_to_callback_agnostic_subestimator.

Update the warning message to make it slightly clearer.

AI usage disclosure

I used AI assistance for:

  • Research and understanding

Any other comments?

ping @jeremiedbb @StefanieSenger

@jeremiedbb jeremiedbb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here are some suggestions.

Comment thread sklearn/callback/_callback_context.py Outdated
Comment thread sklearn/callback/_callback_context.py Outdated
Comment thread sklearn/callback/_callback_context.py Outdated
Comment thread sklearn/callback/_callback_context.py Outdated
Comment thread sklearn/callback/_callback_context.py Outdated
Comment thread sklearn/callback/_callback_context.py Outdated
Co-authored-by: Jérémie du Boisberranger <[email protected]>
@github-actions github-actions Bot added the CI:Linter failure The linter CI is failing on this PR label May 28, 2026
@github-actions github-actions Bot removed the CI:Linter failure The linter CI is failing on this PR label May 28, 2026

@jeremiedbb jeremiedbb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think that a changelog is needed for that. LGTM

@StefanieSenger StefanieSenger left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should test the error message is correct, to make sure it is not a different UserWarning that gets caught. Otherwise this could become hard to debug, if we introduce another UserWarning somewhere in the process in the future.

Also, two very nits. Apart from that LGTM.
Thanks, @FrancoisPgm!

Comment thread sklearn/callback/tests/test_callback_context.py Outdated
Comment thread sklearn/callback/_callback_context.py Outdated
@StefanieSenger StefanieSenger changed the title ENH Avoid repeating the no callback support warning MNT Avoid repeating the no callback support warning May 28, 2026
@jeremiedbb

Copy link
Copy Markdown
Member

hummm. I forgot about this one. I would have liked to include it in 1.9... 🤦

@jeremiedbb
jeremiedbb enabled auto-merge (squash) June 2, 2026 15:37
@jeremiedbb
jeremiedbb merged commit a207887 into scikit-learn:main Jun 2, 2026
36 checks passed
@FrancoisPgm
FrancoisPgm deleted the callback_one_warning_main branch June 4, 2026 12:14
prady0t pushed a commit to prady0t/scikit-learn that referenced this pull request Sep 2, 2026
Co-authored-by: Jérémie du Boisberranger <[email protected]>
Co-authored-by: Stefanie Senger <[email protected]>
@jeremiedbb jeremiedbb mentioned this pull request Sep 8, 2026
14 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants