2016-12-09 6 views
0

に失敗:なぜループの並列は、私がループの並列のために何をしたいのpython

def multiple(a, b): 
    return a * b 
Parallel(n_jobs=2)(delayed(multiple)(a=i, b=j) for i in range(1, 6) for j in range(11, 16)) 

しかし、それは私にエラーメッセージを与える:コードと間違っている何

Traceback (most recent call last): 
    File "<input>", line 1, in <module> 
    File "/Users/tiantian/Library/Python/2.7/lib/python/site-packages/joblib/parallel.py", line 758, in __call__ 
    while self.dispatch_one_batch(iterator): 
    File "/Users/tiantian/Library/Python/2.7/lib/python/site-packages/joblib/parallel.py", line 603, in dispatch_one_batch 
    tasks = BatchedCalls(itertools.islice(iterator, batch_size)) 
    File "/Users/tiantian/Library/Python/2.7/lib/python/site-packages/joblib/parallel.py", line 127, in __init__ 
    self.items = list(iterator_slice) 
    File "<input>", line 1, in <genexpr> 
    File "/Users/tiantian/Library/Python/2.7/lib/python/site-packages/joblib/parallel.py", line 183, in delayed 
    pickle.dumps(function) 
TypeError: expected string or Unicode object, NoneType found 

を?

答えて

0

免責事項:私は十分に担当者はコメントではなくなり、/

あなたはjoblib

セカンドを使用していることを明確に言及する必要がありますまず第一に、私は対話インタプリタでjoblib==0.10.3を使用してこのコードをテストしましたPython 2.7.12と3.5.2で完全に動作します。使用しようとしている機能を漬けできる場合joblibがテストしているとき、あなたが取得している

エラーがスローされます(のみpickableオブジェクトがmultiproccessedすることができます)、輸入以外に、この完全なコードはありますか?あなたは途中でmultipleとおしゃべりしていませんか?

また、インタラクティブなインタプリタを使用しているときにマルチプロセッシングが正しく動作しない場合があることを思い出させます。

関連する問題