メモリ内で効果的に処理するには大きすぎると思われるスパース配列があります (2000x2500000、float)。私はそれをスパースlil_array(scipy)に形成できますが、列または行の圧縮されたスパース配列(A.tocsc()、A.tocsr())を出力しようとすると、マシンのメモリが不足します(また、テキスト ファイルのデータ 4.4G とピッケルされた小さな配列 12G - 生データのサイズにより近いディスク フォーマットがあると便利です)。
将来的には、さらに大きな配列を扱うことになるでしょう。
質問: 通常の numpy 関数を透過的に使用できるように、大容量のディスク アレイを処理する最善の方法は何ですか。たとえば、行と列に沿った合計、ベクトル積、最大、最小、スライスなど?
pytablesは行くべき道ですか?優れた (高速な) sql-numpy ミドルウェア レイヤーはありますか? numpyに組み込まれたディスクアレイの秘密?
以前は (少し小さい) 配列を使って、長い計算結果をディスクにピッケル キャッシュしていました。これは、アレイが最終的に 4G 未満になると機能しますが、それ以上は耐えられません。