allow xgb.load re-use raw information if necessary
This commit is contained in:
parent
98618646f6
commit
4eae8e8676
@ -77,9 +77,9 @@ xgb.Booster <- function(params = list(), cachelist = list(), modelfile = NULL) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# convert xgb.Booster.handle to xgb.Booster
|
# 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"
|
class(bst) <- "xgb.Booster"
|
||||||
return(bst)
|
return(bst)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,7 +21,12 @@ xgb.load <- function(modelfile) {
|
|||||||
stop("xgb.load: modelfile cannot be NULL")
|
stop("xgb.load: modelfile cannot be NULL")
|
||||||
|
|
||||||
handle <- xgb.Booster(modelfile = modelfile)
|
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)
|
bst <- xgb.Booster.check(bst)
|
||||||
return(bst)
|
return(bst)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user