为什么连接会终止

7
我正在使用R内的H2O库对一个包含70百万行和25个数字特征的训练集进行随机森林分类模型测试。总文件大小为5.6 GB。验证文件的大小为1 GB。我的系统配置为16 GB RAM和8个核心CPU。系统成功地将这两个文件读取到了H2O对象中。然后我输入以下命令来构建模型:
model <- h2o.randomForest(x = c(1:18,20:25), y = 19, training_frame = traindata, 
                          validation_frame = testdata, ntrees = 150, mtries = 6)

但是,几分钟后(没有生成任何决策树),我遇到了以下错误:

"Error in .h2o.doSafeREST(conn = conn, h2oRestApiVersion = h2oRestApiVersion, : Unexpected CURL error: Recv failure: Connection reset by peer"

然而,如果我尝试使用1棵决策树进行上述代码,则成功运行。

以上错误是否由于内存问题引起?任何帮助将不胜感激。

2个回答

5

这是一个OutOfMemoryError(内存溢出错误)的变种。在R语言中,该错误消息可能会显示为:

Error in .h2o.doSafeREST(conn = conn, h2oRestApiVersion = h2oRestApiVersion,  : 
  Unexpected CURL error: Empty reply from server

检查h2o服务器日志,这也是您需要做的,会告诉您:

10-08 20:11:57.165 192.168.0.4:54321     2125   #58072-18 INFO: Total file size: 1.81 GB
10-08 20:11:57.165 192.168.0.4:54321     2125   #58072-18 INFO: Parse chunk size 4194304
        onExCompletion for water.parser.ParseDataset$MultiFileParseTask@3588360e
        java.lang.OutOfMemoryError: Java heap space
:
:
Exception in thread "FJ-0-11" java.lang.OutOfMemoryError: Java heap space
2015-10-08 20:13:14.493:WARN:oejut.QueuedThreadPool:1 threads could not be stopped
10-08 20:13:23.033 192.168.0.4:54321     2125   FJ-0-5    ERRR: Out of Memory, Heap Space exceeded, increase Heap Size, from /192.168.0.4:54321
10-08 20:13:23.458 192.168.0.4:54321     2125   FJ-0-3    ERRR: Out of Memory, Heap Space exceeded, increase Heap Size, from /192.168.0.4:54321
10-08 20:13:23.033 192.168.0.4:54321     2125   FJ-0-13   ERRR: Out of Memory, Heap Space exceeded, increase Heap Size, from /192.168.0.4:54321
10-08 20:13:23.033 192.168.0.4:54321     2125   FJ-0-7    ERRR: Out of Memory, Heap Space exceeded, increase Heap Size, from /192.168.0.4:54321
10-08 20:13:26.541 192.168.0.4:54321     2125   FJ-0-5    FATAL: Exiting.
10-08 20:13:26.574 192.168.0.4:54321     2125   FJ-0-7    FATAL: Exiting.
10-08 20:13:26.575 192.168.0.4:54321     2125   FJ-0-3    FATAL: Exiting.
10-08 20:13:26.575 192.168.0.4:54321     2125   FJ-0-13   FATAL: Exiting.

我正在h2o Slater (3.2.0.5)上运行此程序,所以根据你的版本不同,可能会有所不同。


4

可能是因为你的内存不足。在训练过程中查看系统内存使用情况。同时,尝试直接从H2O Web控制台(默认地址:http://localhost:54321/)启动训练,这样可能会提供更详细的错误信息。


我已经检查了随机森林生长过程中的内存使用情况。内存迅速下降,最后出现连接错误。我将终止其他进程,仅运行RF算法。 - rks
请告诉我们是否有帮助。或者,您可以尝试使用资源需求较少的深度神经网络等机器学习方法,这些方法也存在于H2O基础版中。 - cyberj0g
1
这是我的错误。之前我使用默认内存选项运行H2O实例(对于我的数据来说太少了)。现在我正在使用-Xmx14g选项运行H2O实例,算法正在成功运行。干杯...: )。如果在我的情况下准确度低于阈值,我会考虑您的深度学习建议。 - rks

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接