- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在R中开发了一个水文模型,函数中有8个参数,我想用DEoptim来校准模型。由于运行每个函数所需的时间长度,我想并行化 DEoptim 函数,因为它可以选择并行运行。文档建议按如下方式设置:
DEctrl <- DEoptim.control(trace=TRUE,parallelType=1,packages=c(),parVar=c())
ans <- DEoptim(Calibrate,lower,upper,DEctrl)
如果我在没有并行化的情况下运行 DEoptim 那么它工作正常,但是如果我将 parallelType
设置为 1 它会失败并出现以下错误:
Error in checkForRemoteErrors(val) :
8 nodes produced errors; first error: could not find function "startyear"
我想这是因为我没有在 DEoptim.control
中设置 parVar
和 packages
但我真的不明白它们是什么要求。我想 packages
是我预先加载的库模块,但不确定 parVar
是什么。文档说 parVar
是一个变量名称列表(作为字符串),这些名称需要存在于环境中以供目标函数使用或用作目标函数的参数。
我的代码有 1500 行长,所以我不确定应该包括哪些变量名。该代码是一系列子函数 - 这是其中的一部分:
library(DEoptim)
library(package = "hydromad")
library(maptools)
library(compiler)
#enableJIT(3)
library(tcltk)
library(raster)
Calibrate <- function(x) {
cmax <<- x[1]
Cr <<- x[2]
Cl <<- x[3]
Crb <<- x[4]
Clb <<- x[5]
returnflowriver <<- x[6]
returnflowland <<- x[7]
kd <<- x[8]
startyear()
-RSquaredboxcox
}
initialisemodel <- function() {
S1 <<- Sys.time()
# 1 Yangtze watershed inputs
# Load librarys
Starttime <- Sys.time()
Catchmentnum <- 1
# Set global parameters
Plothourlyrunoffswitch <- 0
cmin <<- 0.01
tempmelt <<- 1.5
tempsnow <<- 0.0
temprain <<- 1.5
DDFSnow <<- 4.1
DDFIce <<- 7.1
shiftcell <<- Resolution/3600
projstring <<- "+proj=longlat +datum=WGS84 +no_defs"
等等。
所以我的问题是,我应该在 parVar
和 packages
中包含什么?
最佳答案
正如您在问题中提到的,您需要使用 parVar
和 packages
。
packages
向量应该列出您使用的所有包,例如您使用在另一个包中找到的随机数生成器。
parVar
向量应该包含在您的代码调用的函数或变量中。所以在你的情况下,
parVar = "startyear"
我强烈怀疑,这会引发另一个关于另一个缺失变量的错误(您应该将其添加到 parVar
并重复该过程)。
关于r - 如何并行运行 DEoptim?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30867402/
在R中开发了一个水文模型,函数中有8个参数,我想用DEoptim来校准模型。由于运行每个函数所需的时间长度,我想并行化 DEoptim 函数,因为它可以选择并行运行。文档建议按如下方式设置: DEct
我不确定这是否与编程特别相关,但我正在查看使用 DEoptim 在金融投资组合上下文中进行并行优化的演示,显示 here . 我通过查看给出的演示文稿发现的 here和 here . 而且似乎stra
运行以下优化任务时(R v.3.0.2) library(DEoptim) x 1) UNPROTECT(1); // previous iteration's sexp_t_tmpC
我正在尝试使用 DEoptim R 中关于连续优化问题的优化包,并且由于我的成本函数需要很长时间来评估(2 分钟),我正在尝试使用并行计算。我的问题是: paralleltype=1有什么区别( pa
我一直在寻找一个相当于 DEopt 的 Python 多核优化器。 一直在搞https://github.com/hyperopt/hyperopt但多核支持非常缺乏。 有人知道支持使用多核的任何好的
我遇到过 DEoptim 似乎卡住的情况。我不明白为什么,希望有更多 C 语言经验的人可以看看它。 创建可重现的示例相当困难,因此我只是在 DEoptim 卡住之前将整个环境保存了 50 次迭代。可以
我正在尝试将 DEoptim 与 fnMap 参数一起使用,该参数如文档中所述“将在创建每个种群后运行的可选函数”,因此我创建了这个简单的测试用例。 fnm <- function(x) round(
我正在使用在 R 中开发的代码使用 DEoptim(旨在最小化目标函数的函数)校准具有 8 个参数的水文模型。 DEoptim 代码使用“parallel”包来检测使用“DetectCores()”可
我是一名优秀的程序员,十分优秀!