我正在尝试一个随机森林分类模型,在一个具有7000万行和25个数字特征的训练集中使用R内的H2O
库。总文件大小为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)
但几分钟后(没有生成任何树),我收到以下错误:
“.h2o.doSafeREST中的错误(conn = conn,h2oRestApiVersion = h2oRestApiVersion,:意外的CURL错误:Recv失败:连接重置连接”
但是,如果我尝试使用1棵树上面的代码,它就会成功运行。
是否因内存问题而发生上述错误?任何帮助将不胜感激。
答案 0 :(得分:4)
可能你的记忆力不足了。尝试在森林生长期间查看系统的内存使用情况。还尝试直接从H2O Web控制台启动培训(默认情况下为http://localhost:54321/),可能会提供更详细的错误。
答案 1 :(得分:3)
它是一个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)上运行它,因此根据您的版本,这可能会有所不同。