Ich möchte sklearn.grid_search.GridSearchCV()
auf mehreren Prozessoren parallel verwenden. Dies ist das erste Mal, dass ich das tun werde, aber meine ersten Tests zeigen, dass es zu funktionieren scheint.scikit-learn: allgemeine Frage über Parallel Computing
Ich versuche this Teil der Dokumentation zu verstehen:
n_jobs
: int, default 1Anzahl von Jobs parallel laufen zu lassen.
pre_dispatch
: int oder String, optionalKontrollen die Zahl der Arbeitsplätze, die während parallel Ausführung geschickt bekommen. Das Reduzieren dieser Anzahl kann nützlich sein, um eine Explosion von Speicherverbrauch zu vermeiden, wenn mehr Jobs gesendet werden, als CPUs verarbeiten können. Dieser Parameter kann sein:
Keine, in diesem Fall werden alle Jobs sofort erstellt und generiert. Verwenden Sie dies für leichtgewichtige und schnell laufende Jobs, um zu vermeiden, Verzögerungen aufgrund der On-Demand-Spawning der Jobs Ein int, geben Sie die genaue Anzahl der Jobs, die erzeugt werden eine Zeichenfolge, geben Sie einen Ausdruck als eine Funktion von n_jobs, wie in '2 * n_jobs'
Kann das jemand brechen für mich ab? Ich habe Probleme, den Unterschied zwischen n_jobs
und pre_dispatch
zu verstehen. Wenn ich n_jobs = 5
und pre-dispatch=2
einstelle, wie unterscheidet sich das von der Einstellung n_jobs=2
?
Pflege um zu erarbeiten?Ich verstehe nicht, was passiert, wenn 5 Prozesse 2 Daten "Chunks" teilen müssen? – Fequish
'pre_dispatch' steuert im Wesentlichen die Anzahl der 'Chargen' der gesendeten Aufgaben. – rightskewed