[python-package] fix mypy errors about early stopping rounds #5795
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.
Contributes to #3867 .
Fixes the following
mypy
errors.mypy
is rightly complaining that there's no guarantee thatparams["early_stopping_round"]
will contain an integer here:LightGBM/python-package/lightgbm/engine.py
Lines 211 to 214 in 2fe2bf0
However, we do protect against that on the C++ side.
So this PR proposes:
# type: ignore
commentslightgbm
continues raising that informative errorgit grep 'should be of type'
that there wasn't currently oneWe could, alternatively, address these errors by doing something like the following on the Python side:
But I think it's preferable to do that validation only on the C++ side, so that all LightGBM wrappers benefit from it and to limit duplication of logic between the Python side and C++ side.