allow xgb.load re-use raw information if necessary

This commit is contained in:
tqchen 2015-03-26 16:54:29 -07:00
parent 98618646f6
commit 4eae8e8676
2 changed files with 8 additions and 3 deletions

View File

@ -77,9 +77,9 @@ xgb.Booster <- function(params = list(), cachelist = list(), modelfile = NULL) {
}
# convert xgb.Booster.handle to xgb.Booster
xgb.handleToBooster <- function(handle)
xgb.handleToBooster <- function(handle, raw = NULL)
{
bst <- list(handle = handle, raw = NULL)
bst <- list(handle = handle, raw = raw)
class(bst) <- "xgb.Booster"
return(bst)
}

View File

@ -21,7 +21,12 @@ xgb.load <- function(modelfile) {
stop("xgb.load: modelfile cannot be NULL")
handle <- xgb.Booster(modelfile = modelfile)
bst <- xgb.handleToBooster(handle)
# re-use modelfile if it is raw so we donot need to serialize
if (typeof(modelfile) == "raw") {
bst <- xgb.handleToBooster(handle, modelfile)
} else {
bst <- xgb.handleToBooster(handle, NULL)
}
bst <- xgb.Booster.check(bst)
return(bst)
}