-
-
Notifications
You must be signed in to change notification settings - Fork 25.9k
[MRG+1]: TEST runtime down to 4:30 min on an old laptop #5711
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
Conversation
|
|
@giorgiop Maybe reduce the size of |
Thanks for the hint @glouppe |
Regarding Ping @AlexandreAbraham :) |
|
The new |
|
Fixing
If we want to push this for the 0.17 release, we may just revert the offending commit and open a new PR for that? @amueller |
|
That's the right commit, which indeed is not in 0.17.X. But we believe that commit is the cause of the slow down of the tests in |
Ok. I'm focussing on 0.17.X for the moment :) |
OK sure. On 0.17.X, on the same machine:
|
The list is quite different from the one from master. |
Yes, my bad, this can be speed up easily. The two nested for-loops are not required. You can change the test such as shown here: https://gist.github.com/jmetzen/a7d5afc15a882e4ce443
|
@jmetzen thanks! Here the improvement
|
So we have reduced real runtime of 65s (~20%). I am compiling with MLK though.
The remaining big slow down is addressed by #5713. @amueller can you cherry pick from here what is needed for 0.17.X? |
great ! |
db66c09
to
210b8f7
Compare
For some reasons, Now that we have |
I have tried with another machine on a virtual env with the same configuration of travis with python=3.5, and |
sorry @giorgiop I was unclear. i meant that I am working on 0.17 and had not time to review this pr. Re differences in runtime: that is probably due to different blas? We should probably try to have good blas everywhere. |
@arthurmensch may have a clue about this :) |
Conda 2.4 with Python 3.5 uses OpenBLAS by default, could this be related ? |
This should be ready for review/merge, except the issue with slow linear algebra due to interaction with MLK/conda/python3.5 which may be addressed later on. |
gpc = GaussianProcessClassifier(kernel=kernel).fit(X, y) | ||
|
||
lml, lml_gradient = \ | ||
gpc.log_marginal_likelihood(gpc.kernel_.theta, True) | ||
|
||
assert_true(np.all((np.abs(lml_gradient) < 1e-4) | ||
| (gpc.kernel_.theta == gpc.kernel_.bounds[:, 0]) | ||
| (gpc.kernel_.theta == gpc.kernel_.bounds[:, 1]))) |
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.
Just a note for later: let's ignore those kind of non-important pep8 violations. We could give a list of flake8 warnings to ignore in a conf file in the repo.
Aside from minor comments, +1 on my side. This PR could be squashed and merged without waiting for the fix for |
I just realized that #5713, that fixes a big part of this problem, has not been merged. I think that we should not let it die. |
Thanks guys. I may be able to work on this next week!
+1 ! |
I have addressed my own comments in #6270. Let's follow-up there. |
Thanks @ogrisel |
See #5639.
Runtime comparison is on a laptop configured with
Tests run in master in