返回使用的内存,以便我可以预测计算ML算法所需的内存



我正在运行一个随机森林ML脚本,该脚本使用一个测试大小的数据集5k观测值,该数据集具有一定数量的参数,具有不同数量的森林。我的真实模型有500多个参数,接近100万次观测。我正试图计算这个模型在假设x个森林的情况下需要多少内存。

为了做到这一点,我可以使用一种方法来返回在运行脚本时使用了多少内存。有没有可能返回这个,这样我就可以计算计算完整模型所需的RAM?

我目前使用以下内容来告诉我计算需要多长时间:

global starttime
print "The whole routine took %.3f seconds" % (time() - starttime)

将Re编辑为我自己的答案

感觉我在和自己交谈,但嘿,嘿,我试着运行以下代码来了解实际使用了多少内存,以及为什么当我增加n_estimators_value的数量时,我的电脑内存不足。不幸的是,所有的%内存使用率都是一样的,我想这是因为它在不正确的时间计算内存使用率,它需要在峰值时记录它,同时实际拟合随机林。参见代码:

psutilpercent = psutil.virtual_memory()
print "n", " --> Memory Check 1 Percent:", str(psutilpercent.percent) + "%n"
n_estimators_value = 500
rf = ensemble.RandomForestRegressor(n_estimators = n_estimators_value, oob_score=True, random_state = 1)
psutilpercent = psutil.virtual_memory()
print "n", " --> Memory Check 1 Percent:", str(psutilpercent.percent) + "%n"

有什么方法可以找出内存使用的峰值?我正在尝试计算安装一个相当大的RF需要多少内存,如果不知道我的较小型号需要多少内存的话,我就无法计算出这个内存。

/usr/bin/time报告程序的峰值内存使用情况。还有用于Python的memory_profiler

相关内容

  • 没有找到相关文章

最新更新