-
Notifications
You must be signed in to change notification settings - Fork 5.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Set of build fixes for ## 3580, 3574. #3584
Conversation
Windows build on buildbot has failed:
|
f80ba14
to
1d0c668
Compare
modules/face/src/facemarkLBF.cpp
Outdated
@@ -1212,8 +1212,9 @@ Mat FacemarkLBFImpl::Regressor::supportVectorRegression( | |||
double Gnorm1_init = -1.0; // Gnorm1_init is initialized at the first iteration | |||
std::vector<double> beta(l); | |||
std::vector<double> QD(l); | |||
std::vector<double> lambda(l); | |||
std::vector<double> upper_bound(l); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mentioned commit in scikit-learn also changes #define GETI(i) (i)
and adds initialization of lambda
and upper_bound
arrays: https://github.com/scikit-learn/scikit-learn/blob/dcebbc4c5c97f886a57b0684a5e943f94db1bd58/sklearn/svm/src/liblinear/linear.cpp#L1073-L1089
And assuming we have L2R_L1LOSS_SVR_DUAL case here, single-element arrays make sense, but GETI
macro is wrong.
Alternatively there is another source of original code where GETI(i)
is 0
and arrays of size 1 works well: https://github.com/cjlin1/liblinear/blob/8dc206b782e07676dc0d00678bedd295ce85acf3/linear.cpp#L1127
1d0c668
to
51de580
Compare
@mshabunin I reverted changes in |
Fixes #3580
Fixes #3574.
Pull Request Readiness Checklist
See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request
Patch to opencv_extra has the same branch name.