1
dask配列にtake_along_axisを実装しようとしています。異なるnumblockを持つ2つの配列の操作
daskアレイA
のブロックを取り込む操作と、daskアレイB
の対応するブロックをマップする標準的な方法は何ですか?
A.numblocks != B.numblocks
を使用している場合、再チャンクを使用する必要がありますか?
dask配列にtake_along_axisを実装しようとしています。異なるnumblockを持つ2つの配列の操作
daskアレイA
のブロックを取り込む操作と、daskアレイB
の対応するブロックをマップする標準的な方法は何ですか?
A.numblocks != B.numblocks
を使用している場合、再チャンクを使用する必要がありますか?
再チャンクは問題ありません。 Dask.arrayアルゴリズムは、チャンクをかなり頻繁に内部的に整列させます。機能する場合は、map_blocks
やatop
などの機能を使用することを検討することもできます。 Dask開発者はこれらを最適化します。
独自のアルゴリズムを構築している場合けれどもこれらは重要です。 dask.arraysの通常の使用では、明示的に再チャンクを考える必要はありません。
私はとにかくrechunkを使用すると思います。別の方法は、Aから複数のブロックを取り、Bから1ブロックを取り出し、 'A.numblocks!= B.numblocks'ならばそれらを一緒に処理することです。しかし、それは対処するにはあまりにも複雑です。 –