jakob-r/mlrHyperopt

Unable to build and install mlrHyperopt locally

Closed this issue · 5 comments

Hi all,

I'm trying to install mlrHyperopt from a local .zip file, as we're behind a firewall and I cannot have my proxy removed for any reason.

Here are the commands I've run:

> setwd("C:/Users/papedr/Desktop")
> library(devtools)
Warning messages:
1: package ‘devtools’ was built under R version 3.5.3 
2: package ‘usethis’ was built under R version 3.5.3 
> unzip("mlrHyperopt-master.zip")
> file.rename("mlrHyperopt-master", "mlrHyperopt")
> shell("R CMD build mlrHyperopt")

And this is the result:

* checking for file 'mlrHyperopt/DESCRIPTION' ... OK
* preparing 'mlrHyperopt':
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
* creating vignettes ... ERROR
[Tune] Started tuning learner classif.randomForest for parameter set:
            Type len Def  Constr Req Tunable Trafo
nodesize integer   -   1 1 to 10   -    TRUE     -
mtry     integer   -   2  1 to 4   -    TRUE     -
With control class: TuneControlMBO
Imputation value: 1
[Tune-x] 1: nodesize=3; mtry=1
[Tune-y] 1: mmce.test.mean=0.0600000; time: 0.0 min
[Tune-x] 2: nodesize=5; mtry=3
[Tune-y] 2: mmce.test.mean=0.0466667; time: 0.0 min
[Tune-x] 3: nodesize=8; mtry=4
[Tune-y] 3: mmce.test.mean=0.0533333; time: 0.0 min
[Tune-x] 4: nodesize=1; mtry=2
[Tune-y] 4: mmce.test.mean=0.0533333; time: 0.0 min
[Tune-x] 5: nodesize=6; mtry=2
[Tune-y] 5: mmce.test.mean=0.0400000; time: 0.0 min
[Tune-x] 6: nodesize=10; mtry=3
[Tune-y] 6: mmce.test.mean=0.0533333; time: 0.0 min
[Tune-x] 7: nodesize=9; mtry=1
[Tune-y] 7: mmce.test.mean=0.0533333; time: 0.0 min
[Tune-x] 8: nodesize=4; mtry=4
[Tune-y] 8: mmce.test.mean=0.0466667; time: 0.0 min
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 40 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 14 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 10 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 6 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 6 points instead of 1000!
[Tune-x] 9: nodesize=6; mtry=1
[Tune-y] 9: mmce.test.mean=0.0533333; time: 0.0 min
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 40 points instead of 1000!
Quitting from lines 55-58 (mlrHyperopt.Rmd) 
Error: processing vignette 'mlrHyperopt.Rmd' failed with diagnostics:
REAL() can only be applied to a 'numeric', not a 'character'
Execution halted
Warning message:
In shell("R CMD build mlrHyperopt") :
  'R CMD build mlrHyperopt' execution failed with error code 1

What's the solution to this?

Cheers and thanks in advance!

You can install it if you don't run the vignettes. You could do this with

R CMD build mlrHyperopt --no-build-vignettes

However, what you are seeing is a randomly occuring bug that comes up when some mlrMBO code is run while building the Vignette. It originates from ParamHelpers and I have fixed it recently but the fix is not on CRAN yet but I will upload it today.
So you can either try the line from above or just wait until ParamHelpers 1.13 is on CRAN. The later will also guarantee that the same bug does not occur while using mlrMBO.

Thanks for the help Jakob!

ParamHelpers 1.13 is now on CRAN but it might take a while until it is distributed to all mirrors.

Hi Jakob,

I installed ParamHelpers 1.13 and tried again. I get the following error:

> shell("R CMD build mlrHyperopt")
* checking for file 'mlrHyperopt/DESCRIPTION' ... OK
* preparing 'mlrHyperopt':
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
* creating vignettes ... ERROR
[Tune] Started tuning learner classif.randomForest for parameter set:
            Type len Def  Constr Req Tunable Trafo
nodesize integer   -   1 1 to 10   -    TRUE     -
mtry     integer   -   2  1 to 4   -    TRUE     -
With control class: TuneControlMBO
Imputation value: 1
[Tune-x] 1: nodesize=3; mtry=1
[Tune-y] 1: mmce.test.mean=0.0600000; time: 0.0 min
[Tune-x] 2: nodesize=5; mtry=3
[Tune-y] 2: mmce.test.mean=0.0466667; time: 0.0 min
[Tune-x] 3: nodesize=8; mtry=4
[Tune-y] 3: mmce.test.mean=0.0533333; time: 0.0 min
[Tune-x] 4: nodesize=1; mtry=2
[Tune-y] 4: mmce.test.mean=0.0533333; time: 0.0 min
[Tune-x] 5: nodesize=6; mtry=2
[Tune-y] 5: mmce.test.mean=0.0400000; time: 0.0 min
[Tune-x] 6: nodesize=10; mtry=3
[Tune-y] 6: mmce.test.mean=0.0533333; time: 0.0 min
[Tune-x] 7: nodesize=9; mtry=1
[Tune-y] 7: mmce.test.mean=0.0533333; time: 0.0 min
[Tune-x] 8: nodesize=4; mtry=4
[Tune-y] 8: mmce.test.mean=0.0466667; time: 0.0 min
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 40 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 14 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 10 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 6 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 6 points instead of 1000!
[Tune-x] 9: nodesize=6; mtry=1
[Tune-y] 9: mmce.test.mean=0.0533333; time: 0.0 min
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 40 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 12 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 6 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 4 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 4 points instead of 1000!
[Tune-x] 10: nodesize=8; mtry=4
[Tune-y] 10: mmce.test.mean=0.0533333; time: 0.0 min
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 40 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 21 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 15 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 9 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 9 points instead of 1000!
[Tune-x] 11: nodesize=7; mtry=2
[Tune-y] 11: mmce.test.mean=0.0400000; time: 0.0 min
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 40 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 15 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 9 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 9 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 9 points instead of 1000!
[Tune-x] 12: nodesize=9; mtry=2
[Tune-y] 12: mmce.test.mean=0.0400000; time: 0.0 min
Warning in (function (fn, nvars, max = FALSE, pop.size = 1000, max.generations = 100,  :
  Stopped because hard maximum generation limit was hit.
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 40 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 18 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 15 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 9 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 9 points instead of 1000!
[Tune-x] 13: nodesize=8; mtry=2
[Tune-y] 13: mmce.test.mean=0.0466667; time: 0.0 min
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 40 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 14 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 6 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 6 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 4 points instead of 1000!
[Tune-x] 14: nodesize=5; mtry=1
[Tune-y] 14: mmce.test.mean=0.0466667; time: 0.0 min
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 40 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 21 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 15 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 9 points instead of 1000!
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 9 points instead of 1000!
[Tune-x] 15: nodesize=7; mtry=2
[Tune-y] 15: mmce.test.mean=0.0466667; time: 0.0 min
Warning in generateDesign(control$infill.opt.focussearch.points, ps.local,  :
  generateDesign could only produce 40 points instead of 1000!
Quitting from lines 55-58 (mlrHyperopt.Rmd) 
Error: processing vignette 'mlrHyperopt.Rmd' failed with diagnostics:
object of type 'builtin' is not subsettable
Execution halted
Warning message:
In shell("R CMD build mlrHyperopt") :
  'R CMD build mlrHyperopt' execution failed with error code 1

Another vignette error it seems. I updated mlrMBO as well and still got the same error.

I cannot reproduce this error or track it down to the source.
Please install the package using R CMD build mlrHyperopt --no-build-vignettes. If the same error occurs in your code please provide a traceback().