2
multiprocessing
バックエンドで使用するとプログレスバーが美しく動作しますが、distributed
スケジューラをバックエンドとして使用する場合は、まったく動作しません。Dask ProgressBarは分散バックエンドでは機能しません
方法はありますか?または別の解決策ですか? distributed
パッケージにはいくつかの進行状況バーがありますが、それらはすべて先物リストを必要とします。
multiprocessing
バックエンドで使用するとプログレスバーが美しく動作しますが、distributed
スケジューラをバックエンドとして使用する場合は、まったく動作しません。Dask ProgressBarは分散バックエンドでは機能しません
方法はありますか?または別の解決策ですか? distributed
パッケージにはいくつかの進行状況バーがありますが、それらはすべて先物リストを必要とします。
主な相違点は、マルチスレッド/処理では、結果が制御スレッドにパイプされて戻されますが、分散では、(ローカルマシン上にあっても)クラスタ上で非同期に計算されます。以前
with ProgressBar():
out = collection.compute()
ようなコードを持っていた場合 は今、あなたは
from dask.distributed import progress
out = c.compute(collection) # c is the client
progress(out)
を行うことができますし、あなたの結果を収集する:分散スケジューラはまたでグラフィカルなダッシュボードを利用できるようにすることをout.result()
またはc.gather(out)
注意をhttp://yourhost:8787、例えば、ステータス/を参照してください。そこには、あなたの仕事が進歩バーをまったく呼び出す必要なしに実行されるのが見えます。