我有两个向量:
x, size 3*46208
y, size 1*46208
我想使用Sklearn库(在Python中(将这些数据拟合到高斯模型中。我是这样做的:
kernel = ConstantKernel() + Matern(length_scale=1, nu=5/2) + WhiteKernel(noise_level=1)
gp = gaussian_process.GaussianProcessRegressor(kernel=kernel)
gp.fit(X, y_norm)
这给了我以下错误:MemoryError
如果我只取 1000 行而不是 46208,它可以工作,但如果我取 10000 行,它会崩溃。
如果我做数学运算,浮点数需要 8 个字节,我们需要(对于 10000 行(:
8 * 10000 * 4 = 320000 bytes = 320 Mb
对我来说,它应该有效,但我可能弄错了。有什么想法,建议吗?
PS:我正在使用PyCharm IDE
。谢谢!
10k 应该不是问题,实际上唯一的限制是系统上可用于 Python 解释器的内存。
您可以强制垃圾回收器释放内存
gc.collect()
增加掉期大小