7

シミュレーションのすべてのニーズに amazon クラウドを使用することを検討しています。結果として得られる sim ファイルは非常に大きいので、分析を容易にするためにローカル ドライブに移動したいと考えています。移動するデータごとに料金を支払う必要があるため、すべての SIM ソリューションをできるだけ小さく圧縮したいと考えています。これらは、以下を使用して、.mat ファイルの形式で保存された単なる numpy 配列です。

import scipy.io as sio
sio.savemat(filepath, do_compression = True) 

だから私の質問は、python 圧縮保存、linux 圧縮、またはその両方を使用して、numpy 配列を圧縮する最良の方法は何ですか?

私は Linux 環境にいて、あらゆる種類のファイル圧縮を受け入れます。

4

3 に答える 3

7

配列について何か特別なこと (スパース性や何らかのパターンなど) を知らない限り、デフォルトの圧縮よりもはるかに優れた圧縮を行うことはできません。実際、ダウンロードに HTTP を使用していて、サーバーが圧縮を行うように構成されている場合は、ファイルを gzip する必要さえないかもしれません。優れた可逆圧縮アルゴリズムは、10% 以上変化することはめったにありません。

savemat が宣伝どおりに機能する場合は、次のように Python で gzip 圧縮をすべて取得できるはずです。

import scipy.io as sio
import gzip

f_out = gzip.open(filepath_dot_gz, 'wb')
sio.savemat(f_out, do_compression = True)
于 2011-08-19T02:24:23.183 に答える