在 h2o 中 运行 循环时释放资源
Freeing up resources while running loops in h2o
我正在 运行 循环从我的本地计算机上传 csv 文件,将其转换为 h2o 数据帧,然后 运行 一个 h2o 模型。然后我从我的 r 环境中删除 h2o 数据框,循环继续。这些数据帧很大,所以我一次只能加载一个数据帧(因此我从我的环境中删除数据帧的原因)。
我的问题是 h2o 创建的临时文件很快就会耗尽我的内存。我知道我可以重新启动我的 r 会话,但是有没有另一种方法可以在代码中清除它,以便我的循环可以 运行 愉快地进行?当我查看我的任务管理器时,我的所有内存都被 Java(TM) Platform SE Binary 吸收了。
使用 rm(h2o_df)
从 R 会话中删除对象最终会触发 R 中的垃圾收集,并且删除将传播到 H2O。不过,我认为这并不理想。
推荐的方法是使用 h2o.rm
或者对于您的特定用例,h2o.removeAll
似乎是最好的(处理一切,模型,数据..)。
我正在 运行 循环从我的本地计算机上传 csv 文件,将其转换为 h2o 数据帧,然后 运行 一个 h2o 模型。然后我从我的 r 环境中删除 h2o 数据框,循环继续。这些数据帧很大,所以我一次只能加载一个数据帧(因此我从我的环境中删除数据帧的原因)。
我的问题是 h2o 创建的临时文件很快就会耗尽我的内存。我知道我可以重新启动我的 r 会话,但是有没有另一种方法可以在代码中清除它,以便我的循环可以 运行 愉快地进行?当我查看我的任务管理器时,我的所有内存都被 Java(TM) Platform SE Binary 吸收了。
使用 rm(h2o_df)
从 R 会话中删除对象最终会触发 R 中的垃圾收集,并且删除将传播到 H2O。不过,我认为这并不理想。
推荐的方法是使用 h2o.rm
或者对于您的特定用例,h2o.removeAll
似乎是最好的(处理一切,模型,数据..)。