无法解决 kaggle 内核中发生的 h2o 错误
Posted
技术标签:
【中文标题】无法解决 kaggle 内核中发生的 h2o 错误【英文标题】:Unable to solve error In h2o happening in kaggle kernels 【发布时间】:2018-07-23 12:51:32 【问题描述】:我正在尝试在 H2o 中运行算法,因为数据集非常大并且它是一个回归问题
我正在参加一个名为 Mercari 价格建议挑战 的纯内核竞赛,因此它只需要在 Kaggle 内核中运行和检查代码。
我正在使用具有 8 GB RAM 的 R 语言
最初我能够运行 glm 模型并保存输出 csv 使用以下代码
library(glm2)
glm.model2 <- h2o.glm( y = y.dep, x = x.indep, training_frame = train1.h2o, validation_frame = valid1.h2o
,family = "gaussian")
Glm 在 12 秒内快速运行而不会产生错误,但只要我尝试运行
无论是 gbm 还是基本的深度学习模型都会产生错误
library(gbm)
h2o.gbm(y=y.dep, x=x.indep, training_frame = train1.h2o,validation_frame = valid1.h2o, ntrees = 2000, max_depth = 4, learn_rate = 0.01)
library(randomForest)
rforest.model <- h2o.randomForest(y=y.dep, x=x.indep, training_frame = train1.h2o,validation_frame = valid1.h2o, ntrees = 1000, mtries = 3, max_depth = 4, seed = 1122)
dlearning.model <- h2o.deeplearning(y = y.dep,
x = x.indep,
training_frame = train1.h2o,
validation_frame = valid1.h2o,
epoch = 60,
hidden = c(100,100),
activation = "Rectifier",
seed = 1122
)
我一次又一次地收到以下错误。 请建议可以做些什么来解决这个问题,因为 glm 运行得很好,但所有其他的都没有运行
Error in .h2o.doSafeREST(h2oRestApiVersion = h2oRestApiVersion, urlSuffix = urlSuffix, : Unexpected CURL error: Failed to connect to localhost port 54321: Connection refused
Traceback:
即使在两个模型都达到 10% 到 11% 后它也失败了,我想知道是否有任何破解或任何措施,所以我至少可以运行这些算法,以便我可以提交我的结果。由于这一切,我无法建立一个集成模型。
任何可以使用的度量,因为我只在 kaggle 内核中运行它们
【问题讨论】:
标签“ML”涉及编程语言,而不是机器“学习”。 我使用了标签“机器学习”而不是“ML” 不,你没有。看起来你这样做了,因为我在几个小时前为你更换了它。 谢谢@molbdnilo。欣赏它 如果你使用 h2o,我认为你不需要 gbm、glm 或 randomFrrest 包。你输入了library(h2o); localH2O = h2o.init(nthreads = -1) ;
之类的东西吗?
【参考方案1】:
您无法连接到服务器,因为kernels don't have an internet connection。 :)
更新:我做了更多的挖掘工作,互联网访问不应该是这里的问题。我会提交一个错误。
【讨论】:
【参考方案2】:
Failed to connect to localhost port 54321: Connection refused
这是由 Kaggle 如何在其内核(可能是 Docker 镜像)中运行 H2O 引起的。 H2O R 客户端无法连接到在 localhost:54321 运行的本地 H2O 服务器。
您可以尝试在不同的端口上启动 H2O 集群。因此,不要运行h2o.init()
,而是执行h2o.init(port=44444)
之类的操作。如果他们允许许多人在同一台机器/端口上启动 H2O 集群,这可能会导致一些问题。如果您已在会话中连接到 H2O 集群,请先运行 h2o.shutdown(prompt = FALSE)
,然后在其他端口上重新启动 H2O。
我还建议您联系 Kaggle 管理员,看看他们是否可以帮助调试问题。我们之前在 Kaggle 内核中遇到过类似的问题。
【讨论】:
以上是关于无法解决 kaggle 内核中发生的 h2o 错误的主要内容,如果未能解决你的问题,请参考以下文章
kaggle 预测房价竞赛总结 动手学深度学习v2 pytorch