-
Notifications
You must be signed in to change notification settings - Fork 45
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
Julia crashes for multithreaded Stack for some non-Julia models #783
Comments
Interesting - I get these problems (intermittently) as well on an M1 mac with non-Julia models (XGBoost, LightGBM, etc) - but I get it when I do cross validation (calling |
Same thing here, a simple loop with only an SVM in the Stack produces the error on my side if that helps: metalearner = EpsilonSVR()
models = (model=EpsilonSVR(),)
mystack = Stack(
; metalearner,
resampling=CV(;nfolds=3),
cache=false,
acceleration=CPUThreads(),
models...)
for i in 1:3
fitresult,_, _ = fit(mystack, 0, X, y)
end I noticed LIBSVM also has internal multithreading, could that be related? |
It appears LIBSVM isn't thread safe JuliaML/LIBSVM.jl#60 |
Context: #767 adds support for an option
acceleration=CPUThreads()
in composite model types defined by "exporting" learning networks, and implements this option forStack
. I have been carrying out MLJ ecosystem integration tests of the newStack
with a large number of models as base models in the stack. If the base model is one from the non-Julia packages ScikitLearn.jl, XGBoost.jl, or LIBSVM.jl, and I am includingCPUThreads()
in the testing, then I am experiencing Julia crashes. I not been able to reliably reproduce the crashes with a "minimal example" but the follow seems to do the job on my machine:Interestingly, if I remove MLJXGBoostInterface from the env, and the
using XGBoost
, then there are no issues and the tests pass.I do not seem to have problems with any pure Julia models.
In attempts to isolate, I have encountered various errors, such as:
I am running with 5 threads.
The text was updated successfully, but these errors were encountered: