`dmn {DirichletMultinomial}` 可以在 R 中的多个 cpu 核心上 运行 吗?
Can `dmn {DirichletMultinomial}` be run on multiple cpu cores in R?
我使用
分析微生物组数据
library(phyloseq)
library(microbiome)
library(DirichletMultinomial)
和其他几个库。拟合 Dirichlet-Multinomial 模型来计算数据 dmn {DirichletMultinomial}
需要相当长的时间。可以在 R 中的多个 cpu 核心上进行 运行 计算吗?
我试过了:
dat <- abundances(pseq)
count <- as.matrix(t(dat))
fit <- lapply(1:25, dmn, count = count, verbose=TRUE)
替换为:
library(parallel)
numCores <- detectCores()
...
fit <- mclapply(1:25, dmn, count = count, verbose=TRUE, mc.cores = numCores)
但它 returns 错误警告消息:
在 mclapply(1:25, dmn, count = count, verbose = TRUE, mc.cores = numCores) 中:
所有计划的核心在用户代码中遇到错误
我正在使用
R version 4.0.2 (2020-06-22) -- "Taking Off Again"
Copyright (C) 2020 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin17.0 (64-bit)
> detectCores()
[1] 4
有人能帮忙吗?
此致,
马辛
是的,如小插图 http://bioconductor.org/packages/release/bioc/vignettes/DirichletMultinomial/inst/doc/DirichletMultinomial.pdf 第 2 部分和您的代码中所示,可以在多个内核上 运行。
可能发生的情况是 X 的某些值存在错误;什么是适合的价值?另外,可以试试
library(BiocParallel)
fit <- bplapply(1:25, dmm, count, BPPARAM = MulticoreParam(numCores))
fit
将是一个可以查询的对象(请参阅 https://bioconductor.org/packages/BiocParallel 中提供的 BiocParallel 小插图)以获取更多错误信息。
我使用
分析微生物组数据library(phyloseq)
library(microbiome)
library(DirichletMultinomial)
和其他几个库。拟合 Dirichlet-Multinomial 模型来计算数据 dmn {DirichletMultinomial}
需要相当长的时间。可以在 R 中的多个 cpu 核心上进行 运行 计算吗?
我试过了:
dat <- abundances(pseq)
count <- as.matrix(t(dat))
fit <- lapply(1:25, dmn, count = count, verbose=TRUE)
替换为:
library(parallel)
numCores <- detectCores()
...
fit <- mclapply(1:25, dmn, count = count, verbose=TRUE, mc.cores = numCores)
但它 returns 错误警告消息: 在 mclapply(1:25, dmn, count = count, verbose = TRUE, mc.cores = numCores) 中: 所有计划的核心在用户代码中遇到错误
我正在使用
R version 4.0.2 (2020-06-22) -- "Taking Off Again"
Copyright (C) 2020 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin17.0 (64-bit)
> detectCores()
[1] 4
有人能帮忙吗?
此致, 马辛
是的,如小插图 http://bioconductor.org/packages/release/bioc/vignettes/DirichletMultinomial/inst/doc/DirichletMultinomial.pdf 第 2 部分和您的代码中所示,可以在多个内核上 运行。
可能发生的情况是 X 的某些值存在错误;什么是适合的价值?另外,可以试试
library(BiocParallel)
fit <- bplapply(1:25, dmm, count, BPPARAM = MulticoreParam(numCores))
fit
将是一个可以查询的对象(请参阅 https://bioconductor.org/packages/BiocParallel 中提供的 BiocParallel 小插图)以获取更多错误信息。