我正在写一个模块来训练一个大型数据集上的ML模型——它包括0.6米的数据点,每个数据点的维度都是0.15米。我在加载数据集本身时遇到了问题。(全是numpy数组)
下面是一个代码片段(它复制了实际代码的主要行为):import numpy
import psutil
FV_length = 150000
X_List = []
Y_List = []
for i in range(0,600000):
feature_vector = numpy.zeros((FV_length),dtype=numpy.int)
# using db data, mark the features to activated
class_label = 0
X_List.append(feature_vector)
Y_List.append(class_label)
if (i%100 == 0):
print(i)
print("Virtual mem %s" %(psutil.virtual_memory().percent))
print("CPU usage %s" %psutil.cpu_percent())
X_Data = np.asarray(X_List)
Y_Data = np.asarray(Y_List)
这些代码会导致内存分配不断增加,直到被杀死。有没有办法减少不断增加的内存分配?在
我试过用gc.收集()但它始终返回0。我把variables=None显式地设置为,不再有用。在