from joblib import Parallel, delayed
from time import sleep def worker(i, n): sleep(n) return i
x = [5,2,6] results = Parallel(n_jobs = 4, verbose = 10)([delayed(worker)(i, n) for i, n in enumerate(x)]) print(results)
n_jobs: 並列実行数 (今回は 4)。-1 ですべてのコアを使う。verbose: 実行状況を表示する。数字は出力頻度。worker: 前に定義した並列処理したい関数の名前(i, n): 関数に与える引数[0, 1, 2]
Can't pickle … というエラーが現れる。