gpt4 book ai didi

r - 在 R 中,有没有办法在同一台机器上的 R 的不同进程之间共享一个变量?

转载 作者:行者123 更新时间:2023-12-01 12:48:51 24 4
gpt4 key购买 nike

我的问题是我有一个大模型,加载到内存中很慢。为了在多个样本上进行测试,我需要运行一些 C 程序来为模型生成输入特征,然后运行 ​​R 脚本进行预测。每次加载模型都需要太多时间。

所以我想知道

1) 如果有某种方法可以将模型(R 中的变量)保存在内存中。

2) 我可以将 R 的单独进程作为专用服务器运行,然后 R 的所有预测进程都可以在同一台机器上访问服务器中的变量。

模型在所有预测期间都不会改变。它是一个存储在 .rdata 文件中的随机森林模型,大约有 500MB。加载此模型很慢。

我知道我可以使用并行 R(snow、doPar 等)并行执行预测,但是,这不是我想要的,因为它需要我更改我使用的数据流。

非常感谢。

最佳答案

如果您每次都重新生成模型,您可以将模型保存为 RData 文件,然后在不同的机器上共享它。虽然从磁盘加载到内存可能仍然需要时间,但它会节省重新生成的时间。

   save(myModel, file="path/to/file.Rda")

# then
load(file="path/to/file.Rda")

根据@VictorK 的建议进行编辑:正如 Victor 指出的那样,由于您只保存一个对象,saveRDS 可能是更好的选择。

  saveRDS(myModel, file="path/to/file.Rds")

myModel <- readRDS(file="path/to/file.Rds")

关于r - 在 R 中,有没有办法在同一台机器上的 R 的不同进程之间共享一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15188730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com