问题标签 [domc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R:与 foreach 并行化
我是 R 新手。我编写了这个非常简单的脚本来突出我的问题。如果我运行这个常规 for 循环测试数据会在每次迭代时按照我想要的方式更新。
然而,这个使用 foreach 的并行版本完成了计算,但它们没有在 testdata 中更新。
我试图在互联网上和其他地方关注示例,但大多数示例在 R shoptalk 中太深了,我无法理解。我怎样才能让这个并行版本做非并行版本做的事情。谢谢。
r - do.ply(i) 中的错误:任务 1 失败 - “记录不以 '@' 开头”
我想使用 R 的 doMC 包来读取 fastq 文件,但是我遇到了这个问题。
do.ply(i) 中的错误:任务 1 失败 - “记录不以 '@' 开头”
do.ply(i) 中的错误:任务 1 失败 - “内部:buf !=”
我的代码是
foreach - R中SQLite数据库的并行查询
我有一个大型数据库(~100Gb),我需要从中提取每个条目,对其进行一些比较,然后存储这些比较的结果。我试图在单个 R 会话中运行并行查询,但没有成功。我可以一次运行多个 R 会话,但我正在寻找更好的方法。这是我尝试的:
我没有收到任何错误,但只有一个核心启动。相比之下,如果我运行多个 R 会话,我所有的核心都会这样做。我究竟做错了什么?
r - 计算挂起:rstan、plyr 和 doMC
我正在尝试运行一个简单的rstan
示例,使用plyr
anddoMC
进行并行计算。如果我在底部附近注释掉,则以下代码正常完成registerDoMC(cores = 2)
,但照原样,我的R
会话在调用adply
. 我在 Mac OS 10.11.5 上使用 R 版本 3.3.0 和 R GUI。
编辑:奇怪的是,这可以通过R CMD BATCH
命令行在 Linux 服务器和我的 Mac 上运行。不过,仍然没有 R GUI。
r - R foreach 包括 for 循环奇怪的行为
我正在尝试使用 DoMC 构建一个并行的 foreach 循环,但是发生了一些奇怪的行为。代码看起来像这样
- 当我加载 DoMC 或 DoParallel 时,循环开始使用一个核心,但在第二个循环中它使用所有 4 个核心
- 当我将 for 循环切换到 foreach %do% 时,我得到了完全相同的行为。
- 如果我将 foreach 用于外部循环并将内部作为 for 循环,则脚本会变慢。它从 4 个并行作业开始,然后它们都停止并逐渐减少 CPU 使用率。
我想要的是并行化顶部循环而不是内部第二个循环。有谁知道发生了什么?我过去使用过 foreach 和 doMC,以前从未遇到过这个问题。
r - 并行运行时 foreach R 包合并数据的问题
鉴于我正在处理的数据的大小,我想并行处理
我已将代码设置如下,保持一个核心空闲,因此不使用整台机器
问题是返回的 test_prediction 的行数比 test 少,我不知道为什么
在几次尝试中返回的行向我表明,.combine
inforeach
没有从某些核心收集数据,尽管我不确定如何证实这一理论
总行数 603,054
这仅在并行运行时发生,如果我使用该%do%
选项,则返回正确的行数 - 尽管我不确定如何进一步研究这个理论?
一般来说,如果有更好的方法来并行运行它,有什么帮助吗?将不胜感激
会话信息:
r - 有没有办法限制正在运行的 R 进程的数量
我使用doMC
使用包的那个multicore
。它发生了(几次),当我(在控制台中)调试时,它侧身并被fork-bombed。
R 有 setrlimit() 系统调用吗?在 pyhton 中,我会使用resource.RLIMIT_NPROC
理想情况下,我想将运行的 R 进程数限制为一个数字
编辑:操作系统是 linux CentOS 6
r - 如何在 Windows 下使用 doMC 或 glmnet 的替代并行处理实现?
我在 Rstudio 中使用带有 R 3.3.1 的 Win7 操作系统。意图是glmnet
与并行处理一起使用。从?glmnet
帮助:
parallel
:如果TRUE
,使用平行的 foreach 来适应每个折叠。必须先并行注册,例如doMC
或其他。请参见下面的示例。
从参考的例子:
install.packages('doMC')
退货包不可用。手动检查CRAN会提供可下载的 UNIX 代码,但 Windows 二进制文件不可用。
我还能doMC
在我的 Win7 操作系统下使用类似的代码吗?或者有什么有用的替代方法?
r - 在 doMC 的 foreach 和 dopar 中调用其他包有什么注意事项?
此代码按预期工作:
但是,此代码仅打印“处理 hello world”。和“处理再见世界”,然后挂起(不抛出异常)。
%dopar%
如果我更改为,上面的代码将按预期工作%do%
。
我不明白是什么导致了这种行为。为什么在内部调用 coreNLP 函数%dopar%
会导致 R 挂起但与其他包一起工作正常?这是否与 coreNLP 对 Java 的依赖有关?
这是输出sessionInfo()
:
r - 当具有相似值的列具有相似的行值时合并两个不同的数据框
简单的问题 我们有两个不同的数据帧,它们的设置与 DF_1 和 DF_2 的输出相似
如何合并 DF_1 和 DF_2 以创建组合数据框,将其称为 combine_DF,它看起来像这个的输出
什么是一种快速的方法,它可以创建与 combine_DF 相同的输出?
更难的问题 实际上需要合并的两个数据框要大得多
DF1 是 156798 obs。9 个变量
DF2 是 6441 obs。92 个变量
现在如何合并 DF_1 和 DF_2 来创建一个组合数据框,称为组合 DF,它有 156798 个 obs。99 个变量?(与简单问题的原理相同,但这次数据帧更大)可以使用 doMC::registerDoMC 来加速这个过程。
非常感谢答案:)