Nothing
context("mboFinalize")
# Here we want to leave the debug-mode to test the saving
options(mlrMBO.debug.mode = FALSE)
test_that("mboFinalize", {
# make sure there is no or - object in the environment
or = NULL
assign(".counter", 0L, envir = .GlobalEnv)
f = makeSingleObjectiveFunction(
fn = function(x) {
.counter = get(".counter", envir = .GlobalEnv)
assign(".counter", .counter + 1L, envir = .GlobalEnv)
if (.counter == 12)
stop("foo")
sum(x^2)
},
par.set = makeNumericParamSet(len = 2L, lower = -2, upper = 1)
)
# First test smbo
learner = makeLearner("regr.rpart")
save.file = tempfile("state", fileext=".RData")
ctrl = makeMBOControl(save.on.disk.at = 0:4,
save.file.path = save.file)
ctrl = setMBOControlTermination(ctrl, iters = 3L)
ctrl = setMBOControlInfill(ctrl, crit = crit.mr, opt.focussearch.points = 10L)
des = generateTestDesign(10L, getParamSet(f))
expect_error(or <- mbo(f, des, learner = learner, control = ctrl), "foo")
or = mboFinalize(save.file)
expect_equal(getOptPathLength(or$opt.path), 12L)
unlink(save.file)
# now test parEGO
assign(".counter", 0L, envir = .GlobalEnv)
f = makeMultiObjectiveFunction(
fn = function(x) {
.counter <<- .counter + 1
if (.counter == 13L)
stop ("foo")
c(sum(x^2), prod(x^2))
},
n.objectives = 2L,
par.set = makeNumericParamSet(len = 2L, lower = -2, upper = 1)
)
des = generateTestDesign(10L, getParamSet(f))
ctrl = makeMBOControl(save.on.disk.at = 0:8,
save.file.path = save.file, n.objectives = 2L)
ctrl = setMBOControlTermination(ctrl, iters = 7L)
ctrl = setMBOControlInfill(ctrl, crit = crit.mr, opt.focussearch.points = 100L)
ctrl = setMBOControlMultiObj(ctrl, method = "parego", parego.s = 100L)
or = NULL
expect_error(or <- mbo(f, des, learner = learner, control = ctrl), "foo")
or = mboFinalize(save.file)
expect_equal(getOptPathLength(or$opt.path), 12L)
unlink(save.file)
})
test_that("mboFinalize works when at end", {
f = makeSingleObjectiveFunction(
fn = function(x) sum(x^2),
par.set = makeNumericParamSet(len = 2L, lower = -2, upper = 1)
)
learner = makeLearner("regr.rpart")
save.file = tempfile(fileext = ".RData")
des = generateTestDesign(10L, getParamSet(f))
ctrl = makeMBOControl(save.on.disk.at = 0:2,
save.file.path = save.file)
ctrl = setMBOControlTermination(ctrl, iters = 1L)
ctrl = setMBOControlInfill(ctrl, crit = crit.mr, opt.focussearch.points = 10L)
or = mbo(f, des, learner = learner, control = ctrl)
expect_equal(getOptPathLength(or$opt.path), 11L)
expect_warning({or = mboFinalize(save.file)}, "No need to finalize")
expect_equal(getOptPathLength(or$opt.path), 11L)
unlink(save.file)
})
# reenter debug-mode
options(mlrMBO.debug.mode = TRUE)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.