首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在R中使用bartMachine包的java.lang.OutOfMemoryError

在R中使用bartMachine包的java.lang.OutOfMemoryError
EN

Stack Overflow用户
提问于 2014-09-17 18:22:46
回答 2查看 2K关注 0票数 0

我运行了一个包含11000个样本和20个特征(其中一半是分类变量)的BART模型。我的mac有8G内存。首先,我通过函数set_bart_machine_memory( 5000 )将内存设置为5000MB。

然后,我可以通过函数bartMachine对模型进行一次拟合。如果我想运行另一个模型,那么R返回一个错误,如下所示:

代码语言:javascript
复制
 Exception in thread "pool-10-thread-1" Exception in thread "pool-10-thread-3"
 java.lang.OutOfMemoryError: Java heap space
 java.lang.OutOfMemoryError: Java heap space
 Exception in thread "pool-10-thread-2" java.lang.OutOfMemoryError: Java heap space
 Exception in thread "pool-10-thread-4" java.lang.OutOfMemoryError: Java heap space
 Error in .jcall(bart_machine$java_bart_machine, "Z", "isDestroyed") :
 java.lang.OutOfMemoryError: Java heap space

我认为在内存中有两个bartMachine对象可能不是一个好主意,所以我只需要通过函数destroy_bart_machine()杀死第一个模型,然后第二个模型就可以运行了。

主要问题在bartMachineCV()上。默认情况下有大约20个模型可供拟合,当R使用第二组参数设置运行bart模型时,出现了类似上面的内存错误(即: bartMachine CV try: k: 2 nu,q: 3,0.9 m: 200 )。

我不熟悉JAVA,有没有什么方法可以在8GBRAM的计算机上运行bartMachineCV()?谢谢。

EN

回答 2

Stack Overflow用户

发布于 2015-06-14 12:14:48

我是bartMachine包的维护者。确保下载新版本,并注意初始化库后出现的消息:

代码语言:javascript
复制
> library(bartMachine)
...
Welcome to bartMachine v1.2.0! You have 0.48GB memory available.

如果您在消息上看到内存不足,则说明您的JVM设置有问题。64位JVM是必须的。使用

代码语言:javascript
复制
options(java.parameters = "-Xmx2500m")

在调用library(bartMachine)尝试设置更多之前。

票数 1
EN

Stack Overflow用户

发布于 2014-09-17 23:19:11

您需要运行64位Java JVM;32位JVM最多只能提供大约1.8 to的堆。我建议您使用JDK 7或更高版本;这是目前用于Oracle的产品。

完成后,您可以像这样设置JVM内存设置:

http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html

你会想要设置-Xmx=1024M或者类似的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25922080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档