-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
[ENH] Parallelized cross validation & other evaluation methods #1004
Conversation
@@ -28,7 +28,7 @@ def test_LinearSVM(self): | |||
def test_NuSVM(self): | |||
learn = NuSVMLearner(nu=0.01) | |||
res = CrossValidation(self.data, [learn], k=2) | |||
self.assertGreater(CA(res)[0], 0.9) | |||
self.assertGreater(CA(res)[0], 0.8) |
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.
Current coverage is 87.59%@@ master #1004 diff @@
==========================================
Files 75 75
Lines 7419 7458 +39
Methods 0 0
Messages 0 0
Branches 0 0
==========================================
+ Hits 6508 6533 +25
- Misses 911 925 +14
Partials 0 0
|
Please add JOBLIB_START_METHOD=forkserver for MacOS X. |
There's a lot room for improvement in terms of condensing that code. But for now ... Please test thoroughly. Someone (@ajdapretnar, @thocevar) should try it on Windows too. |
I get this on Windows (zoo.tab, SVM classifier).
|
Should work now. |
The reason for "AttributeError: exit" was an old version of joblib (0.8 instead of 0.9). Otherwise, it works for me. |
7e669db
to
7fa3811
Compare
Blocked on #1114. |
26aef6d
to
c02f849
Compare
364b3bf
to
90ade88
Compare
@BlazZupan, @astaric This is ready for another review. Not sure why these lines don't cover. An appropriate test has been added. |
For me, the gui still freezes while the cross valudation is being executed. Would it be possible to do it without blocking the gui thread? (They way widget that download data, like https://github.com/biolab/orange-bio/blob/master/orangecontrib/bio/widgets3/OWBioMart.py#L710, do it?) |
Causes a RuntimeError
It works with n_jobs=1, or with the main guard, but I guess the intended behaviour is that CrossValidation should work as before, unchanged, without main guard. |
The default is now @astaric joblib complains: 😬
FWIW, it doesn't stall at all with 'fork' backend e.g. on Linux. 😃 |
@ajdapretnar can you confirm this works well on Windos and just merge it if it does. Thanks. 😄 |
Parallel multiprocess execution of model evaluation methods.
Assumptions:
n_cpu * (data.nbytes + C)
extra RAM available,