R/mlr_callbacks.R

Defines functions load_callback_backup

#' @title Backup Archive Callback
#'
#' @include CallbackOptimization.R
#' @name bbotk.backup
#'
#' @description
#' This [CallbackOptimization] writes the [Archive] after each batch to disk.
#'
#' @examples
#' clbk("bbotk.backup", path = "backup.rds")
NULL

load_callback_backup = function() {
  callback_optimization("bbotk.backup",
    label = "Backup Archive Callback",
    man = "bbotk::bbotk.backup",
    on_optimization_begin = function(callback, context) {
      assert_path_for_output(callback$state$path)
    },

    on_optimizer_after_eval = function(callback, context) {
      if (file.exists(callback$state$path)) unlink(callback$state$path)
      saveRDS(context$instance$archive$data, callback$state$path)
    },
    fields = list(path = "archive.rds")
  )
}

Try the bbotk package in your browser

Any scripts or data that you put into this service are public.

bbotk documentation built on Nov. 13, 2023, 5:06 p.m.