2014-12-25 8 views
6

Was ist der Grund für ein solches Problem in Joblib? 'Multiprocessing unterstützte parallele Schleifen können nicht unter Threads verschachtelt werden, Einstellung n_jobs = 1' Was soll ich tun, um ein solches Problem zu vermeiden?Multiprocessing unterstützte parallele Schleifen können nicht unter Threads verschachtelt werden

Eigentlich muss ich XMLRPC Server implementieren, die schwere Berechnungen im Hintergrund Thread ausführen und den aktuellen Fortschritt durch Abfragen von UI-Client berichten. Es verwendet scikit-learn, die auf joblib basieren.

S.S .: Ich habe den Namen des Threads einfach in "MainThread" geändert, um eine solche Warnung zu vermeiden und alles sieht gut aus (läuft parallel wie erwartet ohne Probleme). Was könnte in Zukunft ein Problem für eine solche Problemumgehung sein?

+0

Soweit ich verstehen, das Problem ist, dass einer Ihrer Threads laicht eine weitere multithreaded Berechnung: Wie in der Frage geschrieben, wäre ein schmutziges fix den roten Faden wieder auf MainThread umbenennen. Ich persönlich, sehe keine Notwendigkeit dafür (ja, Sie können komplexe Gabel-Modell verwenden, aber warum verwenden Sie parallele Schleifen dafür?), Da Sie vermutlich bereits alle Parallelität, die Sie haben, verwenden. –

Antwort

0

Dies scheint aufgrund dieser issue in JobLib-Bibliothek. Im Moment des Schreibens scheint dies behoben, aber noch nicht veröffentlicht zu sein.

threading.current_thread().name = 'MainThread'

Verwandte Themen