尝试调整多会话计划时,R furrr plan返回错误?

尝试调整多会话计划时,R furrr plan返回错误?,r,parallel-processing,furrr,R,Parallel Processing,Furrr,我正在尝试设置我需要的计划,但我遇到以下错误: no_cores <- availableCores() - 2 plan(multisession, workers = no_cores, lazy = T, gc = T) 或: 请告知如何设置多段/多核计划的工作者、惰性、gc和其他参数 我的R版本是: R.Version() $platform [1] "x86_64-pc-linux-gnu" $arch [1] "x86_64" $o

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

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

请告知如何设置
多段
/
多核
计划的
工作者
惰性
gc
和其他参数

我的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"

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

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"
库(furr)

不,试一下你的例子,我得到了第二条错误信息。我基本上遵循了给出的建议:在
plan
中设置参数
lazy=T
,这是不允许的。但是,您可以直接在
furr
函数调用中设置此参数:

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"
库(furr)

no_cores@akrun,也许你能帮上忙?@akrun,也许你能帮上忙?我有一个非常大的数据帧,出于某种原因,我在.jnew(“opennlp.tools.postag.POSModel”)、.jcast(.jnew”(“java.io.FileInputStream”)、:java.lang.OutOfMemoryError:java堆空间
中遇到了
错误,但我设置了:
选项(java.parameters=“-Xmx8000m”)
这听起来好像你没有足够的RAM。你监控过内存使用情况吗?另外,也许这有助于检查是否存在分割数据的方法,因此每次计算只使用df的一部分;或者根据你进行的计算,你需要始终传递完整的df还是只传递其中的一些行/列?我有1M+我的tibble中的行,我需要使用一些函数来处理所有这些行。当我在Ubuntu 18.04上使用htop时,它显示出16GB内存中有大约7.5GB的内存,并且由于java堆大小错误而失败。如果您同意,我们可以进行缩放,然后将结果发布到这里。在加载rJava之前,您是否尝试过设置java选项,或者使用mojava堆超过8GB?很抱歉,zoomI没有太大的数据帧,出于某种原因,我在.jnew(“opennlp.tools.postag.POSModel”)、.jcast(.jnew(“java.io.FileInputStream”)、:java.lang.OutOfMemoryError:java堆空间
中出现
错误,但我设置了:
选项(java.parameters=“-Xmx8000m”)
这听起来好像你没有足够的RAM。你监控过内存使用情况吗?另外,也许这有助于检查是否存在分割数据的方法,因此每次计算只使用df的一部分;或者根据你进行的计算,你需要始终传递完整的df还是只传递其中的一些行/列?我有1M+我的tibble中的行,我需要使用一些函数来处理所有这些行。当我在Ubuntu 18.04上使用htop时,它显示出16GB内存中有大约7.5GB的内存,并且由于java堆大小错误而失败。如果您同意,我们可以进行缩放,然后将结果发布到这里。在加载rJava之前,您是否尝试过设置java选项,或者使用mojava堆的容量超过8GB?抱歉,我无法进行缩放
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"