2

pyTables ファイルに格納されている大きな配列 ( 1000x500000x6 ) があります。速度の点でかなり最適化されたいくつかの計算を行っていますが、最も時間がかかっているのは配列のスライスです。

スクリプトの開始時に、行のサブセットを取得する必要があります: Reduced_data = data[row_indices, :, :] そして、この縮小されたデータセットに対して、次のようにアクセスする必要があります。

  • 列を 1 つずつ: Reduced_data[:,clm_indice,:]
  • 列のサブセット: Reduced_data[:,clm_indices,:]

これらの配列を取得するには、永遠に時間がかかります。それをスピードアップする方法はありますか?たとえば、データを別の方法で保存しますか?

4

1 に答える 1

1

配列を賢く選択してみてchunkshapeください。http://pytables.github.com/usersguide/libref.html#tables.File.createCArray このオプションは、データがファイルに物理的に格納される順序を制御します。アクセスの高速化に役立つ場合があります。

運が良ければ、データ アクセス パターンのようなものがうまくいくchunkshape=(1000, 1, 6)かもしれません。

于 2012-05-16T12:58:59.330 に答える