私は大きすぎてメモリ(2000x2500000、float)で効果的にハンドリングすることができないようです。私はスパースlil_array(scipy)にそれを形成することができますが、列または行圧縮圧縮された配列(A.tocsc()、A.tocsr())を出力しようとすると、マシンのメモリが不足します。テキストファイル4.4Gのデータとpickelされたlil配列12Gとの間には、生データサイズにより近いディスクフォーマットがあることが良いでしょう)。numpyのディスクアレイ上に大きな文字
将来的にはさらに大きな配列をハンドリングすることになるでしょう。
質問:通常のnumpy関数を透過的に使用できるように、大規模なディスクアレイを処理する最善の方法は何ですか。例えば、行と列、ベクトル積、最大値、最小値、スライシングなどに沿った合計?
pytablesは行く方法ですか?そこに良い(高速)SQLのnumpyミドルウェア層ですか?ディスクアレイの秘密はnumpyに組み込まれていますか?
これまで(わずかに小さい)配列では、私は常に計算結果をディスクにピックキャッチしました。これは、配列が< 4G程度になっても終わり、もはや耐えられなくなったときに機能します。
アレイを酸洗したときに、必ずバイナリプロトコルを使用しましたか?デフォルトのテキストプロトコルを使用している場合、これは膨大なファイルサイズの原因になる可能性があります。 – DaveP