Próbuję uruchomić kilka niezależnych obliczeń (chociaż odczyt z tych samych danych). Mój kod działa, gdy uruchomię go na Ubuntu, ale nie na Windows (Windows Server 2012 R2), gdzie pojawia się błąd:multiprocessing.Pool w notebooku jupyter działa na systemie Linux, ale nie w systemach Windows
'module' object has no attribute ...
gdy próbuję użyć multiprocessing.Pool
(pojawia się w konsoli jądra, nie jako wyjście w samym notebooku)
(I już popełniłem błąd definiując funkcję PO stworzeniu puli, a także poprawiłem ją, to nie jest problem).
Dzieje się tak nawet na najprostszych przykładach:
from multiprocessing import Pool
def f(x):
return x**2
pool = Pool(4)
for res in pool.map(f,range(20)):
print res
Wiem, że musi być w stanie importować modułu (i nie mam pojęcia jak to działa, gdy pracuje w notebooku), a ja "Słyszałem o IPython.Parallel
, ale nie udało mi się znaleźć żadnej dokumentacji ani przykładów.
Wszelkie rozwiązania/alternatywy byłyby najbardziej pożądane.
rację. W rzeczywistości dokumenty opisują kilka gier z obsługą wielu procesorów w systemie Windows. Zobacz https://docs.python.org/2/library/multiprocessing.html#windows – tdelaney