私は、グローバルにdask.diagnostics.ProgressBar
を登録する方法があることを知っています。それはかなりいいですが、自分のセル出力を破壊します。 distributed.diagnostics.progress
機能もあり、Jupyter Notebook Progress Barウィジェットで実行の進行状況を表示することもできますが、先物を受け取ることが期待されます。Dask/DistributedにText Progress Barの代わりにJupyter Notebookプログレスバーウィジェットを登録する方法はありますか?
私がここに持っている問題は、dask.diagnostics.ProgressBar
を明示的DASK /分散先物と呼ばれるようにstdout
(私はプログレスバーを使用しながら、私は何を印刷することはできません)、およびdistributed.diagnostics.progress
ニーズを使用していることですが、私は何かを計算し、私の機能を持っていますDask/Distributedの将来ではなく、 "result"クラスのインスタンスを返します。
あなたは「もIPythonウィジェットのプログレスバーを使用しexperienceand同期dask.computeを持って、両方の方法はありません」の周りの状況を明確にしてくださいもらえますか? Jupyterノートブックウィジェットの制限、Dask/Distributed制限、または実装されていない機能のみですか? (P.S.あなたはあなたの答えに2つの全く同じリンクを投稿しました;あなたは分散文書をリンクするつもりでしたか?) –
これは基本的な制限ではありません。私たちはスレッドイベントで完全に待つことはできません。その代わりにJupyterノートを実行するTornado IOLoopに制御を戻す必要があります。 'sync'呼び出しは、計算が終了するまでブロックされます。 Jupyterプラグインを更新したい場合、ブロックできません。 1つの解決策は、ループでタイムアウトをブロックすることです。 – MRocklin
代わりに、単一マシンスケジューラ用のIPythonウィジェットベースのプラグインを構築することもできます。 – MRocklin