2017-11-29 9 views
0

私は画像からなる大きなデータセットを扱っています。numpy正規化でのMemoryError

私は、次のコードを実行すると:

data=[] 
def image_to_feature_vector(image, size=(128, 128)): 
    return cv2.resize(image, size).flatten() 

for i in range(0,len(imagePath)): 
    image = cv2.imread(imagePath[i]) 
    features = image_to_feature_vector(image) 
    data.append(features) 

data = np.array(data)/255.0 

私のようにエラーを得た:

np.array(データ)/ 255.0

MemoryErrorを

方法これを修正するには?前もって感謝します!!!

+0

data = np.empty((len(imagePath),) + features_shape) for i, slc in enumerate(data): ... slc[...] = features 

2使用中のインプレース操作は、私は推測してみましょう一時リストを作成しないように、32ビットのビルドPythonの? –

+1

@DanMašekいいえ、私は64ビットビルド版を使用しています。 – snfs

答えて

2

いくつかの簡単なメモリ節約の戦略は

1事前割り当てdataを含め、可能な

data /= 255.0