相关疑难解决方法(0)

R H2O - 内存管理

我试图通过R使用H2O来使用一个大数据集(~10GB)的子集构建多个模型.数据是一年的数据,我正在尝试建立51个模型(即第1周训练,第2周预测等),每周约有1.5-250万行,有8个变量.

我在循环中完成了这个,我知道这并不总是R中最好的方法.我发现的另一个问题是H2O实体会累积先前的对象,所以我创建了一个函数来删除所有这些除了主数据组.

h2o.clean <- function(clust = localH2O, verbose = TRUE, vte = c()){
  # Find all objects on server
  keysToKill <- h2o.ls(clust)$Key
  # Remove items to be excluded, if any
  keysToKill <- setdiff(keysToKill, vte)
  # Loop thru and remove items to be removed
  for(i in keysToKill){
    h2o.rm(object = clust, keys = i)

    if(verbose == TRUE){
      print(i);flush.console()

    }    
  }
  # Print remaining objects in cluster.
  h2o.ls(clust)
}
Run Code Online (Sandbox Code Playgroud)

该脚本运行良好一段时间然后崩溃 - 通常抱怨内存不足和交换到磁盘.

这里有一些伪代码来描述这个过程

# load h2o library
library(h2o)
# create h2o entity
localH2O …
Run Code Online (Sandbox Code Playgroud)

java memory-management r h2o

6
推荐指数
1
解决办法
5311
查看次数

标签 统计

h2o ×1

java ×1

memory-management ×1

r ×1