2

フィルターする画像スタックをn持つ h5 ファイルを含むディレクトリがあります。m画像ごとに、dask並列配列を使用してフィルタリング (ガウスおよびラプラシアン) を実行し、処理を高速化します ( Ref to Dask )。apply_parallel()scikit-imageの関数で dask 配列を使用します 。
を使用して小さなサーバーで処理を実行します20 cpus

どの並列戦略を使用するのがより理にかなっているのか、アドバイスをもらいたいです。

1) h5 ファイルの順次処理と dask 処理用のすべての cpu
2) h5 ファイルの並列処理をxコアで実行し、残り20-xを dask 処理に使用します。
3) リソースを分散し、h5 ファイル、各 h5 ファイル内の画像、および dask の残りのリソースを並列処理します。

助けてくれてありがとう!

4

2 に答える 2

0

可能な限り単純な方法で並列化することが常に最善です。複数のファイルがあり、それらのそれぞれに対して同じ計算を実行したい場合、これはほぼ間違いなく最も簡単な方法です。これで計算リソースが飽和する場合は、より高度な方法に飛び込むことなく、ここで終了できます。

これが実際にあなたの状況である場合はdask、 、makeconcurrent.futuresまたは他のさまざまなライブラリのいずれかを使用して並列化できます。

操作自体を並列化しようとしたり、メモリ不足にならないようにするなど、他の懸念がある場合は、dask のようなより洗練されたシステムを使用することを余儀なくされますが、そうではない場合があります。

于 2016-02-10T23:34:40.317 に答える