2014-11-25 29 views
0

我使用Sci-kit的GuassianNB来学习我的分类。在拟合我的数据和预测之后,它会抛出内存错误。Scikit通过GuassianNB学习预测内存错误

clf1=GaussianNB() 
clf1.fit(X_train,y_train) 
y_pred1=clf1.predict(imgarray) 

其中:

  1. X_train是大小的阵列(1413,2)
  2. y_train是大小的阵列(1413)
  3. imgarray大小为(9000000, 2)

错误:

Error thrown

其他信息:

SCI-Kit了解版本:0.15,Windows 7的32位,Python 2.7版,PyDev的,内存4 GB

我试图更改版本和其他东西,但问题仍在继续。我的爱人太大了吗?我会感谢你的帮助和建议。

+0

你的'imgarray'尺寸是'9000000'吗? – badc0re 2014-11-25 09:08:27

+0

@ badc0re ...是9000000行,2列由R和G带图像像素组成 – Piyush 2014-11-25 09:26:09

+0

嗯,我认为对于4GB的机器来说很多,想象一下,如果你有10,000个图像(这不是很多),会有多少内存它需要?我认为很高兴看到如何使用一些图像处理技术来减少矢量大小。 – badc0re 2014-11-25 09:37:37

回答

0

我不认为自身imgarray足以崩溃4GB的机器:

In [3]: a = np.zeros((9000000,2)) 
In [4]: a.nbytes 
Out[4]: 144000000 

大约是137MB。你持有任何其他大型数组是内存吗?没有看你的代码很难说。你可以发布一个完整的可运行的代码片段,以便我们可以仔细观察一下吗?

此外,你可以看看这个问题,以了解如何做memory profiling