gpt4 book ai didi

r - 使用Brm在R中使用BRM进行负二项式回归会导致错误

转载 作者:行者123 更新时间:2023-12-03 11:51:37 25 4
gpt4 key购买 nike

我正在使用brm包中的brms函数计算负二项式回归。由于这需要花费一些时间,因此我想使用documentation中建议的多个内核。

bfit_s <- brm(
dep_var ~ ind_var +
var1 +
var2 +
(1 | some_level1) + (1 | some_level2),
data = my_df,
family = negbinomial(link = "log", link_shape = "log"),
cores = 4,
control = list(adapt_delta = 0.999)
)

但是,我遇到一个错误,说所有四个工作器的连接都失败了:
Compiling the C++ model

Start sampling
starting worker pid=11603 on localhost:11447 at 14:13:56.193
starting worker pid=11601 on localhost:11447 at 14:13:56.193
starting worker pid=11602 on localhost:11447 at 14:13:56.198
starting worker pid=11604 on localhost:11447 at 14:13:56.201
Error in unserialize(node$con) : error reading from connection
Calls: <Anonymous> -> slaveLoop -> makeSOCKmaster
Error in unserialize(node$con) : error reading from connection
Calls: <Anonymous> -> slaveLoop -> makeSOCKmaster
Error in unserialize(node$con) : error reading from connection
Calls: <Anonymous> -> slaveLoop -> makeSOCKmaster
Execution halted
Execution halted
Execution halted
Error in unserialize(node$con) : error reading from connection
Calls: <Anonymous> -> slaveLoop -> makeSOCKmaster
Execution halted

追溯说 Error in makePSOCKcluster(names = spec, ...) : Cluster setup failed. 4 of 4 workers failed to connect.
我试图理解这个问题,在上面阅读了诸如 this之类的一些问题,但无法弄清楚为什么我无法连接。我正在使用macOS Mojave,问题不在于我尝试使用的内核过多。关于如何使它在多个内核上运行的任何建议?

编辑:
正如sjp在他的回答中指出的那样,RStudio存在问题。我以为我可以在我的问题中共享代码来解决问题,因此每个绊脚石的人都可以解决此问题,而无需进一步单击(阅读)。

问题是R-4.0.0中的 parallel包。 -但是使用者是由 this stan论坛提供的解决方法。如果您可以使用 setup_strategy="sequential"初始化集群,如下所示:
cl <- parallel::makeCluster(2, setup_strategy = "sequential") 

您可以在 ~/.Rprofile中添加一个简短的代码段,以使其成为默认设置:
## WORKAROUND: https://github.com/rstudio/rstudio/issues/6692
## Revert to 'sequential' setup of PSOCK cluster in RStudio Console on macOS and R 4.0.0
if (Sys.getenv("RSTUDIO") == "1" && !nzchar(Sys.getenv("RSTUDIO_TERM")) &&
Sys.info()["sysname"] == "Darwin" && getRversion() == "4.0.0") {
parallel:::setDefaultClusterOptions(setup_strategy = "sequential")
}

最佳答案

这是与RStudio有关的已知问题。在Stan论坛和Github上查看这些相关文章。

GitHub:https://github.com/rstudio/rstudio/issues/6692

Stan论坛:https://discourse.mc-stan.org/t/r-4-0-0-and-cran-macos-binaries/13989/13

关于r - 使用Brm在R中使用BRM进行负二项式回归会导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61987580/

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