【问题标题】:R furrr plan returns errors when trying to tweak the multisession plan?尝试调整多会话计划时,R furrr 计划返回错误?
【发布时间】:2021-01-06 06:46:35
【问题描述】:

我正在尝试设置我需要的计划,但出现以下错误:

no_cores <- availableCores() - 2
plan(multisession, workers = no_cores, lazy = T, gc = T)

错误是:

Error in MultisessionFuture(expr = expr, envir = envir, substitute = FALSE,  : 
  argument "expr" is missing, with no default

或:

plan(multisession, workers = no_cores, lazy = T, gc = T)
Error in tweak.future(function (expr, envir = parent.frame(), substitute = TRUE,  : 
  Future argument 'lazy' must not be tweaked / set via plan()

请告诉我如何设置multisession/multicore计划的workerslazygc和其他参数。

我的 R 版本是:

R.Version()
$platform
[1] "x86_64-pc-linux-gnu"

$arch
[1] "x86_64"

$os
[1] "linux-gnu"

$system
[1] "x86_64, linux-gnu"

$status
[1] ""

$major
[1] "4"

$minor
[1] "0.2"

$year
[1] "2020"

$month
[1] "06"

$day
[1] "22"

$`svn rev`
[1] "78730"

$language
[1] "R"

$version.string
[1] "R version 4.0.2 (2020-06-22)"

$nickname
[1] "Taking Off Again"

【问题讨论】:

  • @akrun,也许你能帮忙?

标签: r parallel-processing furrr


【解决方案1】:

尝试您的示例,我收到了第二条错误消息。而且我基本上遵循了给出的建议:您在plan 中设置了参数lazy = T,这是不允许的。但是,您可以直接在furrr 函数调用中设置此参数:

library(furrr)
no_cores <- availableCores() - 2
plan(multisession, workers = no_cores, gc = T)

future_map(c("hello", "world"), ~.x,
           .options = future_options(lazy = TRUE))
[[1]]
[1] "hello"

[[2]]
[1] "world"

【讨论】:

  • 我有一个非常大的数据框,由于某种原因我得到了Error in .jnew("opennlp.tools.postag.POSModel", .jcast(.jnew("java.io.FileInputStream", : java.lang.OutOfMemoryError: Java heap space 但我已经设置:options(java.parameters = "-Xmx8000m")
  • 这听起来像你没有足够的内存。您是否监控过内存使用情况?另外,查看advice here 可能会有所帮助
  • 也许有办法分割你的数据,所以每次计算只使用df的一部分;或者根据您进行的计算,您需要始终传递完整的 df 还是只传递其中的一些行/列?
  • 我的 tibble 中有 1M+ 行,我需要使用一些函数来处理所有这些行。当我在 Ubuntu 18.04 上使用 htop 时,它显示它在 16GB RAM 中达到大约 7.5GB,并且由于 java 堆大小错误而失败。如果您同意,我们可以进行缩放并稍后在此处发布结果。
  • 您是否尝试过在加载 rJava 之前设置 java 选项,并且可能为 java 堆使用超过 8GB 的​​空间?抱歉,我无法进行缩放
猜你喜欢
  • 1970-01-01
  • 2020-03-28
  • 2019-12-03
  • 2020-04-26
  • 1970-01-01
  • 1970-01-01
  • 2015-05-19
  • 2010-12-22
  • 1970-01-01
相关资源
最近更新 更多