Attempts to unload LightGBM packages so you can remove objects cleanly without having to restart R. This is useful for instance if an object becomes stuck for no apparent reason and you do not want to restart R to fix the lost object.

lgb.unloader(restore = TRUE, wipe = FALSE, envir = .GlobalEnv)

Arguments

restore

Whether to reload LightGBM immediately after detaching from R. Defaults to TRUE which means automatically reload LightGBM once unloading is performed.

wipe

Whether to wipe all lgb.Dataset and lgb.Booster from the global environment. Defaults to FALSE which means to not remove them.

envir

The environment to perform wiping on if wipe == TRUE. Defaults to .GlobalEnv which is the global environment.

Value

NULL invisibly.

Examples

library(lightgbm) data(agaricus.train, package = "lightgbm") train <- agaricus.train dtrain <- lgb.Dataset(train$data, label = train$label) data(agaricus.test, package = "lightgbm") test <- agaricus.test dtest <- lgb.Dataset.create.valid(dtrain, test$data, label = test$label) params <- list(objective = "regression", metric = "l2") valids <- list(test = dtest) model <- lgb.train( params = params , data = dtrain , nrounds = 10L , valids = valids , min_data = 1L , learning_rate = 1.0 , early_stopping_rounds = 5L )
#> [1]: test's l2:6.44165e-17 #> [2]: test's l2:6.44165e-17 #> [3]: test's l2:6.44165e-17 #> [4]: test's l2:6.44165e-17 #> [5]: test's l2:6.44165e-17 #> [6]: test's l2:6.44165e-17 #> [7]: test's l2:6.44165e-17
# NOT RUN { lgb.unloader(restore = FALSE, wipe = FALSE, envir = .GlobalEnv) rm(model, dtrain, dtest) # Not needed if wipe = TRUE gc() # Not needed if wipe = TRUE library(lightgbm) # Do whatever you want again with LightGBM without object clashing # }