【问题标题】:Scikit learn memory error on predicting through GuassianNBScikit通过GuassianNB进行预测时学习记忆错误
【发布时间】:2014-11-25 07:53:18
【问题描述】:

我正在使用 Sci-kit learn 的 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)

错误:

其他详情:

SCi-Kit 学习版本:0.15,Windows 7 32 位,Python 2.7,pydev,RAM 4 GB

我尝试更改版本和其他内容,但问题仍然存在。我的 imgarray 太大了吗?感谢您的帮助和建议。

【问题讨论】:

  • 你的imgarray 的大小是9000000吗?
  • @badc0re ...是的 9000000 行,2 列,由图像像素的 R 和 G 波段组成
  • 好吧,我认为对于 4gb 机器来说已经很多了,想象一下如果你有 10.000 张图像(不是很多),它需要多少内存?我认为了解如何使用一些图像处理技术来减小矢量大小是件好事。

标签: python scikit-learn classification


【解决方案1】:

我认为 imgarray 本身不足以让 4GB 机器崩溃:

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

大约 137MB。您是否持有任何其他大型数组是内存?不看你的代码很难说。您能否发布一段完整的可运行代码,以便我们仔细查看?

另外,你可以看看这个问题来学习如何做memory profiling

【讨论】:

    猜你喜欢
    • 2016-02-14
    • 2014-12-06
    • 2020-03-24
    • 2017-02-28
    • 2014-03-15
    • 2017-03-15
    • 2016-03-16
    • 2013-12-05
    • 2016-10-01
    相关资源
    最近更新 更多