5

Pythonjoblibの組み込みモジュールの代替としてモジュールを学習しようとしています。multiprocessing私はmultiprocessing.imapiterable に対して関数を実行し、結果を返すことに慣れています。この最小限の作業例では、joblib でそれを行う方法がわかりません。

import joblib, time

def hello(n):
    time.sleep(1)
    print "Inside function", n
    return n

with joblib.Parallel(n_jobs=1) as MP:

    func = joblib.delayed(hello)
    for x in MP(func(x) for x in range(3)):
        print "Outside function", x

どちらが印刷されますか:

Inside function 0
Inside function 1
Inside function 2
Outside function 0
Outside function 1
Outside function 2

出力を見たい:

Inside function 0
Outside function 0
Inside function 1
Outside function 1
Inside function 2
Outside function 2

または同様のもので、イテラブルMP(...)がすべての結果が完了するのを待っていないことを示します。より長いデモの変更n_jobs=-1range(100).

4

3 に答える 3