0

私はいくつかの並列計算を行っており、多くの回帰にわたって適合の良さを評価しています。そうすることで(〜60Kの計算を実行する)、iPythonを奇妙な状態にすることができました。

オブジェクトをすべてのノードにプッシュする

%%px
model_analytics = ResultsAnalytics(rows,  store['data_model'])

そして、作業をディスパッチします:

%%time 
ar = lview.map(lambda x: model_analytics.generate_prediction_heuristic(x), rows.index)

正常に動作します。実際、ほとんどの作業は完了します。

%%time 
completed = ar.progress
print completed
print "Remaining {0} min".format((ar.elapsed/completed) * (len(rows) - completed)/60)

66229

残り 0.0205939930854 分

CPU 時間: ユーザー 211 ミリ秒、システム: 163 ミリ秒、合計: 374 ミリ秒

経過時間: 364 ミリ秒

しかし、完了しないジョブが 1 つあります。

for i, status in enumerate(ar.status): 
    if status != 'ok': print i, status 

35230 なし

msg = ar.msg_ids[35230]
lview.abort(msg)
print lview.get_result(msg)
print lview.wait(jobs=msg, timeout=5)

<AsyncResult: unknown>

間違い

編集:私はすべての結果を得ることができることを望んでいましたが、機能していない結果を得ることができましたが、喜びはありませんでした.

msgs = ar.msg_ids[0:35230]
res1 = [lview.get_result(msg) for msg in msgs]
print res1[0:10]

[<AsyncResult: unknown>, <AsyncResult: unknown>, <AsyncResult: unknown>, <AsyncResult: unknown>, <AsyncResult: unknown>, <AsyncResult: unknown>, <AsyncResult: unknown>, <AsyncResult: unknown>, <AsyncResult: unknown>, <AsyncResult: unknown>]

私はまだこれを再現しようとはしていません。このエラーの原因は何ですか? 何か問題がありましたか?今後、これから回復するためのより優雅な方法はありますか?

バージョン:

  • IPython: 3.2.1
  • pyzmq: 14.7.0
  • zeromq: dpkg -l | grep libzmq の結果:

    ii libzmq-dev:amd64 2.2.0+dfsg-5 amd64 軽量メッセージング カーネル (開発ファイル) ii libzmq1:amd64 2.2.0+dfsg-5 amd64 軽量メッセージング カーネル (共有ライブラリ)

4

0 に答える 0