64ビット整数の32^3配列があり、それには12の異なる値しか含まれていない場合、メモリやディスク領域を節約するために「内部マッピング」を使用するようにHDF5に指示できますか?つまり、配列は通常64ビットintでアクセスできますが、各値は内部でバイト(?)インデックスとして64ビットintのテーブルに格納され、メモリやメモリの約7/8を節約できる可能性があります。ディスクスペース。これが可能な場合、実際にメモリ、ディスクスペース、またはその両方を節約できますか?
質問する
157 次
1 に答える
1
HDF5 がすぐにこの機能を提供するとは思いませんが、データを HDF5 ファイルに書き込み、希望する方法で再度読み取るルーチンを実装できない理由はありません。ルックアップ テーブルと配列を異なるデータセットに書き込むことができると思います。
HDF の圧縮機能が整数データセットを十分に圧縮して、有用な量のスペースを節約できる可能性はありますが、私が示す証拠はありません。
繰り返しますが、私が扱っている HDF5 ファイル (数十 GB) については、64 ビット数の 32768 要素配列を省くことができるかもしれないような適度な量のスペースを節約するために、わざわざ独自のエンコード方式を考案しようとはしません。 . 確かに、2097152 ビットのデータセットを 131072 ビットのデータセットに変換することはできますが、ディスク容量 (RAM を含む) は最近ではそれほどきつくありません。
おそらくスマートフォンで HDF5 を使用しようとしているような印象を受け始めています :-)
于 2012-02-10T14:28:49.530 に答える