diff --git a/DESCRIPTION b/DESCRIPTION index 300c7515..cc4d018a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -31,6 +31,7 @@ Depends: Imports: bbotk (>= 1.5.0), checkmate (>= 2.0.0), + cli, data.table, lgr, mlr3misc (>= 0.15.1), @@ -52,6 +53,7 @@ Suggests: xgboost VignetteBuilder: knitr +Remotes: mlr-org/mlr3misc Config/testthat/edition: 3 Config/testthat/parallel: false Encoding: UTF-8 diff --git a/NAMESPACE b/NAMESPACE index a91ca961..f960a023 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -83,6 +83,7 @@ export(tune) export(tune_nested) import(bbotk) import(checkmate) +import(cli) import(data.table) import(mlr3) import(mlr3misc) diff --git a/R/ArchiveAsyncTuning.R b/R/ArchiveAsyncTuning.R index ad0e208d..5d24d63e 100644 --- a/R/ArchiveAsyncTuning.R +++ b/R/ArchiveAsyncTuning.R @@ -142,7 +142,7 @@ ArchiveAsyncTuning = R6Class("ArchiveAsyncTuning", #' #' @param ... (ignored). print = function() { - catf("%s with %i evaluations", format(self), self$n_evals) + cat_cli(cli_h1("{format(self)} with {.val {self$n_evals}} evaluations")) print(as.data.table(self, unnest = NULL, exclude_columns = c( "x_domain", "timestamp_xs", diff --git a/R/ArchiveAsyncTuningFrozen.R b/R/ArchiveAsyncTuningFrozen.R index c141b5f6..1c6bf7d1 100644 --- a/R/ArchiveAsyncTuningFrozen.R +++ b/R/ArchiveAsyncTuningFrozen.R @@ -99,7 +99,7 @@ ArchiveAsyncTuningFrozen = R6Class("ArchiveAsyncTuningFrozen", #' #' @param ... (ignored). print = function() { - catf("%s with %i evaluations", format(self), self$n_evals) + cat_cli(cli_h1("{.cls {class(self)[1L]}} with {.val {self$n_evals}} evaluations")) print(as.data.table(self, unnest = NULL, exclude_columns = c( "x_domain", "timestamp_xs", diff --git a/R/ArchiveBatchTuning.R b/R/ArchiveBatchTuning.R index 6da1b4b9..d0944d23 100644 --- a/R/ArchiveBatchTuning.R +++ b/R/ArchiveBatchTuning.R @@ -159,7 +159,7 @@ ArchiveBatchTuning = R6Class("ArchiveBatchTuning", #' #' @param ... (ignored). print = function() { - catf("%s with %i evaluations", format(self), self$n_evals) + cat_cli(cli_h1("{.cls {class(self)[1L]}} with {.val {self$n_evals}} evaluations")) print(as.data.table(self, unnest = NULL, exclude_columns = c("x_domain", "uhash", "timestamp", "runtime_learners", "resample_result")), digits = 2) print(as.data.table(self, unnest = "x_domain", exclude_columns = c("uhash", "timestamp", "runtime_learners", "resample_result")), diff --git a/R/AutoTuner.R b/R/AutoTuner.R index 9164476b..e4449c51 100644 --- a/R/AutoTuner.R +++ b/R/AutoTuner.R @@ -260,7 +260,7 @@ AutoTuner = R6Class("AutoTuner", } else { self$instance_args$search_space } - catf("* Search Space:") + cat_cli(cli_li("Search Space:")) print(as.data.table(search_space)[, c("id", "class", "lower", "upper", "nlevels"), with = FALSE]) }, diff --git a/R/Tuner.R b/R/Tuner.R index ce477bb2..1bd1dd97 100644 --- a/R/Tuner.R +++ b/R/Tuner.R @@ -70,11 +70,16 @@ Tuner = R6Class("Tuner", #' #' @return (`character()`). print = function() { - catn(format(self), if (is.na(self$label)) "" else paste0(": ", self$label)) - catn(str_indent("* Parameters:", as_short_string(self$param_set$values))) - catn(str_indent("* Parameter classes:", self$param_classes)) - catn(str_indent("* Properties:", self$properties)) - catn(str_indent("* Packages:", self$packages)) + msg_h = if (is.na(self$label)) "" else paste0(": ", self$label) + msg_params = cli_vec(map_chr(self$param_classes, function(p) format_inline('{.cls {p}}')), + style = list(last = ' and ', sep = ', ')) + cat_cli({ + cli_h1("{.cls {class(self)[1]}}{msg_h}") + cli_li("Parameters: {as_short_string(self$param_set$values)}") + cli_li("Parameter classes: {msg_params}") + cli_li("Properties: {self$properties}") + cli_li("Packages: {.pkg {self$packages}}") + }) }, #' @description diff --git a/R/zzz.R b/R/zzz.R index c33ba592..b9a1a141 100644 --- a/R/zzz.R +++ b/R/zzz.R @@ -1,5 +1,6 @@ #' @import data.table #' @import checkmate +#' @import cli #' @import paradox #' @import mlr3 #' @import mlr3misc diff --git a/man/AutoTuner.Rd b/man/AutoTuner.Rd index afb4408b..fd7fecb8 100644 --- a/man/AutoTuner.Rd +++ b/man/AutoTuner.Rd @@ -197,6 +197,7 @@ Hash (unique identifier) for this partial object, excluding some components whic \if{html}{\out{
Inherited methods