2013-05-01 7 views
9

Używam python 2.7 z ipython na Windows 8 64bit z systemem, który ma 4 rdzenie. Po dopasowaniu modelu scikit-learn użycie procesora wynosi 50%, 25% od python i 25% od Chrome.Włącz Pythona, aby wykorzystać wszystkie rdzenie do dopasowania modeli naukowo-badawczych

Dlaczego chrome wykorzystuje tyle zasobów procesora co python?

Czy istnieje wielowątkowa wersja funkcji dopasowania modelu scikit-learn, więc użycie multikomputerów może być tak proste, jak ustawienie zmiennej? Jak ...

grid_search = GridSearchCV(pipeline, parameters, n_jobs=-1)

Odpowiedz

9

Nieliczne modele sklearn może działać równolegle przez nich Jaźni. GridSearchCV z n_jobs=-1 lub n_jobs=4 w interaktywnej sesji python (np. W skrypcie) [1] powinien być w stanie wykonywać wieloprocesorowość pod oknami (o ile podstawowe wywołania indywidualne fit trwają dłużej niż 1s na przykład).

Chromowane elementy prawdopodobnie nie są ze sobą powiązane: wystarczy zamknąć chrome, jeśli nie chcesz używać procesora. Prawdopodobnie masz zakładkę uruchamiającą javascript lub buggy w tle.

[1] http://docs.python.org/2/library/multiprocessing.html#windows

+0

Właściwie '' n_jobs' uruchomić poszczególne instancje python' na każdym 'fit' rozmowy. Skutkuje to ogromnym obciążeniem, więc można go używać przy "dopasowaniu" zabierającym znacznie więcej niż 1 sekundę czasu. –

+0

Powinien uruchomić proces Python 'n_jobs' w puli i wysłać wywołania dopasowania do tych procesów. Rzeczywiście, jest to znacznie więcej narzutów i jest użyteczne tylko wtedy, gdy indywidualne dopasowanie zajmuje więcej niż 1 sekundę. – ogrisel

+0

To, co widzę w Menedżerze zadań w systemie Windows, z pewnością nie jest pulą procesów 'python'. –

Powiązane problemy