2.5 GB のファイルを読み取る必要があります。私は次の構文を使用します:
import numpy as np
limit=4269*352*288*3
mat1=np.zeros(limit, dtype='uint8')
mat1=np.fromfile("path/to/file", "uint8", limit)
この配列を再形成する必要があります。
mat_new=np.zeros([4269, 288, 352, 3], dtype='uint8')
mat_new=np.transpose(np.reshape(mat1,[4269,3,288,352]), [0,2,3,1])
私の 4GB RAM、i7 第 2 世代システムでは、これに約 35 秒かかります。どうにかして速くすることができました。これは私のプログラムの始まりに過ぎず、より複雑なことが先にあるからです。これからいらないmat1
!
また、Python で「最大メモリに達しました」というエラーが表示されるため、開始するファイルの半分しか読み取っていません。