[問題] np.zeros memory error

作者: yowantl (加油)   2018-04-19 12:04:24
如標題 以下是我的code
出現下面錯誤
ML_CROSS
Traceback (most recent call last):
File "D:\Curry\DCIM\lab1\FINAL2\ML.py", line 27, in <module>
designM=np.zeros((Train,M))
MemoryError
>>>
請問大大 該如何解
謝謝
***************************
import csv
import math
import numpy as np
print " ML_CROSS "
Train=35000
Verif=5000
M=6400
D=80
s1=100
s2=100
pos=13.5
dim=0
lam=0
dim_cross=1
coordinate=[]
target=[]
#init_a = np.zeros((10000*10000),4096),np.dtype='float16'))
target_v=np.zeros(Verif)
target_t=np.zeros(Train)
designM=np.zeros((Train,M))
*****************************************
作者: gmccntzx1 (o.O)   2018-04-19 12:42:00
記憶體不足. designM有35000*6400*8(byte)=1.792e9(byte) 約1.67GB...(np.zeros的dtype預設是np.float64)
作者: yowantl (加油)   2018-04-19 13:48:00
那請問 有甚麼解法嗎而且我這邊記憶體是32GB
作者: gmccntzx1 (o.O)   2018-04-19 14:25:00
先試著改用np.float32或np.float16看看因為你的code看起來就是要這麼大的陣列另外可以試試用memory_profiler確認,看執行到designM這行前,已經用掉多少記憶體了https://pypi.org/project/memory_profiler/再不然,可能要改存成sparse matrix的方式去計算

Links booklink

Contact Us: admin [ a t ] ucptt.com