Skip to content

Commit

Permalink
Fix for CreatePredictor function and VS2017 Debug build (#3937)
Browse files Browse the repository at this point in the history
* Fix index out-of-range exception generated by BaggingHelper on small datasets.

Prior to this change, the line "score_t threshold = tmp_gradients[top_k - 1];" would generate an exception, since tmp_gradients would be empty when the cnt input value to the function is zero.

* Update goss.hpp

* Update goss.hpp

* Add API method LGBM_BoosterPredictForMats which runs prediction on a data set given as of array of pointers to rows (as opposed to existing method LGBM_BoosterPredictForMat which requires data given as contiguous array)

* Fix incorrect upstream merge

* Add link to LightGBM.NET

* Fix indenting to 2 spaces

* Dummy edit to trigger CI

* Dummy edit to trigger CI

* remove duplicate functions from merge

* Fix for CreatePredictor function: for VS2017 in Debug build, the previous version would end up giving an uninitialised prediction function that would throw access violation exceptions when invoked.

Co-authored-by: matthew-peacock <[email protected]>
Co-authored-by: Guolin Ke <[email protected]>
  • Loading branch information
3 people authored Feb 17, 2021
1 parent de8c610 commit 5321fef
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions src/c_api.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -416,9 +416,8 @@ class Booster {
is_raw_score = false;
}

Predictor predictor(boosting_.get(), start_iteration, num_iteration, is_raw_score, is_predict_leaf, predict_contrib,
return Predictor(boosting_.get(), start_iteration, num_iteration, is_raw_score, is_predict_leaf, predict_contrib,
config.pred_early_stop, config.pred_early_stop_freq, config.pred_early_stop_margin);
return predictor;
}

void Predict(int start_iteration, int num_iteration, int predict_type, int nrow, int ncol,
Expand Down

0 comments on commit 5321fef

Please sign in to comment.