2014-11-25 31 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