Uh oh!
There was an error while loading. Please reload this page.
[SPARK-21523][ML] update breeze to 0.13.2 for an emergency bugfix in strong wolfe line search - #18797
[SPARK-21523][ML] update breeze to 0.13.2 for an emergency bugfix in strong wolfe line search#18797WeichenXu123 wants to merge 4 commits into
Conversation
srowen
commented
Aug 1, 2017
@sethah mentioned the potential impact of this so yeah I agree we should get this in and to 2.2 |
sethah
commented
Aug 1, 2017
Can you change the title? Upgrade to 0.13.2. |
SparkQA
commented
Aug 1, 2017
Test build #80125 has finished for PR 18797 at commit
|
srowen
commented
Aug 2, 2017
Ah, looks like some legitimate failures related to the change we pulled in. Probably just needs some test adjustments |
WeichenXu123
commented
Aug 2, 2017
Strange thing, the code failed this @srowen@sethah Do you know the reason ? The require is almost impossible to fail. Is there some bug in the three testcases? |
srowen
commented
Aug 2, 2017
The actual failure in the first two cases looks like it must be related: The last one looks like it's just expecting a different convergence sequence. I don't know much about it but didn't seem too odd at first glance. If I have time later this week I'll try to rerun locally and see if the test fixes look easy. |
@srowen Yeah, the third case is another problem (I think we can simply change the assert statement to be |
srowen
commented
Aug 3, 2017
The only number that is <= Double.PositiveInfinity is Double.NaN, because it has no ordering at all with respect to anything. So init must be NaN somehow. It's called from LBFGS in Breeze, where the value is It might still be a Breeze issue that's just now uncovered, but, haven't proven that yet. |
I've figured out the problem, and pretty sure it's a problem in the AFT test that was hidden until now. It runs AFTSurvivlaRegression on this input: The problem is one label is 0, but this is interpreted as a time to failure (I believe?). Somewhere the code takes the log of this value, gets -Infinity, quickly gets NaN in an expression, and eventually causes the error per above. I think we can just modify the test but wanted to see if that makes sense to @yanboliang@zhengruifeng@BenFradet who have touched the AFT code? |
WeichenXu123
commented
Aug 3, 2017
Thanks! Waiting AFT testcode author to figure out how to modify the testcase. |
BenFradet
commented
Aug 3, 2017
@srowen there shouldn't be any issue with removing the first row of the test data afaict. |
srowen
commented
Aug 3, 2017
Yeah, the only issue is that the test set is generated and used in several tests. Maybe we can just see if changing it works for all callers. |
srowen
commented
Aug 4, 2017
@WeichenXu123 it does appear that the tests pass with the following tiny changes -- I can make a proper PR on your branch if needed, but I'm lazy and just attached the diff since it's 3 lines. |
WeichenXu123
commented
Aug 4, 2017
@srowen Great! thanks! |
af82dfc to
be57175Comparesrowen
commented
Aug 4, 2017
@WeichenXu123 there is one more change you'll need, in |
srowen
left a comment
There was a problem hiding this comment.
Pending tests, looks OK. This change passed MLlib tests for me.
SparkQA
commented
Aug 4, 2017
Test build #80257 has finished for PR 18797 at commit
|
SparkQA
commented
Aug 4, 2017
Test build #80258 has finished for PR 18797 at commit
|
SparkQA
commented
Aug 4, 2017
Test build #80259 has finished for PR 18797 at commit
|
srowen
commented
Aug 5, 2017
@WeichenXu123 looks like we need one other tiny tweak to the Python equivalents. There I think it's easiest to convert a 0 to a tiny value: |
yanboliang
commented
Aug 5, 2017
@srowen@WeichenXu123 |
There was a problem hiding this comment.
If no theoretically guaranteed, why we need to keep this test? I remember we change here multiple times when we did breeze upgrade. What do you think about just removing this line? We never check the number of iterations at other test suites. @srowen@WeichenXu123
There was a problem hiding this comment.
OK by me. You could also make it a range. Or something really basic like "> 0".
srowen
commented
Aug 5, 2017
Yes it seems like that should be checked somewhere. It might be rational to include it here as a double check that the newly uncovered issue that needs to be fixed to upgrade breeze is gone. But could happen in another change too. |
SparkQA
commented
Aug 8, 2017
Test build #80369 has finished for PR 18797 at commit
|
fbf1677 to
5063758CompareSparkQA
commented
Aug 8, 2017
Test build #80381 has finished for PR 18797 at commit
|
SparkQA
commented
Aug 8, 2017
Test build #3884 has finished for PR 18797 at commit
|
…strong wolfe line search ## What changes were proposed in this pull request? Update breeze to 0.13.1 for an emergency bugfix in strong wolfe line search scalanlp/breeze#651 ## How was this patch tested? N/A Author: WeichenXu <WeichenXu123@outlook.com> Closes#18797 from WeichenXu123/update-breeze. (cherry picked from commit b35660d) Signed-off-by: Yanbo Liang <ybliang8@gmail.com>
yanboliang
commented
Aug 9, 2017
Merged into master and branch-2.2. Thanks for all. |
…strong wolfe line search ## What changes were proposed in this pull request? Update breeze to 0.13.1 for an emergency bugfix in strong wolfe line search scalanlp/breeze#651 ## How was this patch tested? N/A Author: WeichenXu <WeichenXu123@outlook.com> Closesapache#18797 from WeichenXu123/update-breeze. (cherry picked from commit b35660d) Signed-off-by: Yanbo Liang <ybliang8@gmail.com>
…strong wolfe line search ## What changes were proposed in this pull request? Update breeze to 0.13.1 for an emergency bugfix in strong wolfe line search scalanlp/breeze#651 ## How was this patch tested? N/A Author: WeichenXu <WeichenXu123@outlook.com> Closesapache#18797 from WeichenXu123/update-breeze. (cherry picked from commit b35660d)
What changes were proposed in this pull request?
Update breeze to 0.13.1 for an emergency bugfix in strong wolfe line search
scalanlp/breeze#651
How was this patch tested?
N/A