Skip to content Skip to sidebar Skip to footer

Multiprocessing Backed Parallel Loops Cannot Be Nested Below Threads

What is the reason of such issue in joblib? 'Multiprocessing backed parallel loops cannot be nested below threads, setting n_jobs=1' What should I do to avoid such issue? Actually

Solution 1:

I had the same warning while doing predictions with sklearn within a thread, using a model I loaded and which was fitted with n_jobs > 1. It appears when you pickle a model it is saved with its parameters, including n_jobs.

To avoid the warning (and potential serialization cost), set n_jobs to 1 when pickling your models:

clf = joblib.load(model_filename).set_params(n_jobs=1)

Solution 2:

This seems to be due to this issue in JobLib library. At the moment of writing this seems to be fixed but not released yet. As written in the question, a dirty fix would to rename the main thread back to MainThread:

threading.current_thread().name = 'MainThread'

Post a Comment for "Multiprocessing Backed Parallel Loops Cannot Be Nested Below Threads"