2
メソッドをthunder(Sparkを使用)から同等のnumpyバージョンに変換してdaskを評価しようとしていますが、dask/distributedを使用してこれを書く方法がわかりません。NumPyからDaskへの相関係数関数の変換
は雷では、私は、画像のスタックを取ることができますシリーズに変換し、いくつかの信号に対して相関:
imgs = thunder.images.fromrandom((10, 900, 900))
series = imgs.toseries()
signal = series[5, 5, :]
correlated = series.correlate(signal)
numpyのバージョンは次のようになります。
series = numpy.random.rand(900, 900, 10)
signal = series[5, 5, :]
reshaped = series.reshape(900 * 900, 10)
correlated = numpy.asarray(
map(lambda x: numpy.corrcoef(x, signal)[0, 1], reshaped))
)
final = correlated.reshape(900, 900)
私は」これを特に配布用に変換する方法に関するヒントを探しています。
はい、ありがとうございます、今すぐご覧ください! しかし、スレッドモードで実行している 'result.compute()'を呼び出すと、 'MemoryError'が発生します。私はちょうど確かめるためにこれを別の箱に再現しようとします。 – Mark
'da.corrcoef'のケースではメモリエラーに驚かれることはありません(低メモリでこの操作を行うのは難しい)。私は、2番目のケースでは、メモリエラーを期待しません。あなたはディスクに流出したい場合は、分散スケジューラを試すことができます:http://dask.pydata.org/en/latest/scheduler-choice.html – MRocklin
私は唯一の方法は私がメモリのエラーが出ていると思うあなたの例は次元を反転しました...私は、900x900である10枚の画像から始まり、次にサイズ(900,900,10)の時系列にフリップする必要があります。そのために、私は 'chunk = 900'で' imgs'を開始しました。私の 'reshaped'は' chunkksize =(810000,10) 'になりました。上記の最後のブロックである信号との相関関係だけを必要としますが、正しいチャンクサイズを把握することはできません。 – Mark