2016-12-07 14 views
0

は私がエラーを持っている:MemoryErrorを私は、Python 3.5Pythonの:MemoryError

unq, unq_idx = np.unique(targets, return_inverse=True) 
unq_cnt = np.bincount(unq_idx) 
cnt = np.max(unq_cnt) 
n_targets = np.empty((cnt*len(unq),) + targets.shape[1:], targets.dtype) 
n_input_patches = np.empty((cnt*len(unq),) + input_patches.shape[1:], input_patches.dtype) 
for j in range(len(unq)): 
    indices = np.random.choice(np.where(unq_idx==j)[0], cnt) 
    n_targets[j*cnt:(j+1)*cnt] = targets[indices] 
    n_input_patches[j*cnt:(j+1)*cnt] = input_patches[indices] 

とエラーでコードを実行すると:

n_input_patches = np.empty((cnt*len(unq),) + input_patches.shape[1:], input_patches.dtype) 
MemoryError 

私はコードで起こるかわかりませんでした。私を助けてください。どうもありがとうございました。

答えて

0

あなたがメモリ不足しているとき、基本的には、この例外がスローされます。

https://docs.python.org/3/library/exceptions.html

基本的にあなたのコードは、多数のオブジェクトに作成されたので、私はなど、あなたのループを確認するか、より明確にするための実際の入力を投稿します。