xgboost
函数
序列化

根据用例,有多种方法可以序列化 Booster 对象。更多...

序列化的协作图

函数

int XGBoosterLoadModel (BoosterHandle handle, const char *fname)
 从现有文件加载模型。更多...
 
int XGBoosterSaveModel (BoosterHandle handle, const char *fname)
 将模型保存到现有文件。更多...
 
int XGBoosterLoadModelFromBuffer (BoosterHandle handle, const void *buf, bst_ulong len)
 从内存缓冲区加载模型 更多...
 
int XGBoosterSaveModelToBuffer (BoosterHandle handle, char const *config, bst_ulong *out_len, char const **out_dptr)
 将模型保存为原始字节,返回数组的头部。用户必须在下一次 xgboost 调用之前复制结果。更多...
 
int XGBoosterSerializeToBuffer (BoosterHandle handle, bst_ulong *out_len, const char **out_dptr)
 基于内存快照的序列化方法。将所有状态保存到缓冲区。更多...
 
int XGBoosterUnserializeFromBuffer (BoosterHandle handle, const void *buf, bst_ulong len)
 基于内存快照的序列化方法。加载从 XGBoosterSerializeToBuffer 返回的缓冲区。更多...
 
int XGBoosterSaveJsonConfig (BoosterHandle handle, bst_ulong *out_len, char const **out_str)
 将 XGBoost 的内部配置保存到 JSON 文档中。目前支持是实验性的,函数签名将来可能在不通知的情况下更改。更多...
 
int XGBoosterLoadJsonConfig (BoosterHandle handle, char const *config)
 从 JSON 文档加载 XGBoost 的内部配置。目前支持是实验性的,函数签名将来可能在不通知的情况下更改。更多...
 

详细描述

根据用例,有多种方法可以序列化 Booster 对象。

序列化 API 简要说明。有 3 组不同的序列化 API。

函数文档

◆ XGBoosterLoadJsonConfig()

int XGBoosterLoadJsonConfig ( BoosterHandle  handle,
char const *  config 
)

从 JSON 文档加载 XGBoost 的内部配置。目前支持是实验性的,函数签名将来可能在不通知的情况下更改。

参数
handleBooster 对象的句柄。
configJSON 文档的字符串表示。
返回
成功返回 0,失败返回 -1

◆ XGBoosterLoadModel()

int XGBoosterLoadModel ( BoosterHandle  handle,
const char *  fname 
)

从现有文件加载模型。

参数
handlehandle
fname文件名。字符串必须是 UTF-8 编码。
返回
成功返回 0,失败返回 -1
示例
inference.c.

◆ XGBoosterLoadModelFromBuffer()

int XGBoosterLoadModelFromBuffer ( BoosterHandle  handle,
const void *  buf,
bst_ulong  长度 
)

从内存缓冲区加载模型

参数
handlehandle
buf指向缓冲区的指针
长度缓冲区的长度
返回
成功返回 0,失败返回 -1

◆ XGBoosterSaveJsonConfig()

int XGBoosterSaveJsonConfig ( BoosterHandle  handle,
bst_ulong out_len,
char const **  out_str 
)

将 XGBoost 的内部配置保存到 JSON 文档中。目前支持是实验性的,函数签名将来可能在不通知的情况下更改。

参数
handleBooster 对象的句柄。
out_len输出字符串的长度
out_str指向字符数组的有效指针。字符数组由 XGBoost 分配和管理,而指向该数组的指针需要由调用者管理。
返回
成功返回 0,失败返回 -1

◆ XGBoosterSaveModel()

int XGBoosterSaveModel ( BoosterHandle  handle,
const char *  fname 
)

将模型保存到现有文件。

参数
handlehandle
fname文件名。字符串必须是 UTF-8 编码。
返回
成功返回 0,失败返回 -1
示例
external_memory.cinference.c

◆ XGBoosterSaveModelToBuffer()

int XGBoosterSaveModelToBuffer ( BoosterHandle  handle,
char const *  config,
bst_ulong out_len,
char const **  out_dptr 
)

将模型保存为原始字节,返回数组的头部。用户必须在下一次 xgboost 调用之前复制结果。

参数
handlehandle
configJSON 编码的字符串,存储函数的参数。JSON 文档中预期有以下键
  • "format": str
    • json:输出 booster 将被编码为 JSON。
    • ubj:输出 booster 将被编码为通用二进制 JSON。此格式除兼容性原因外。
out_len用于保存输出长度的参数
out_dptr用于保存输出数据指针的参数
返回
成功返回 0,失败返回 -1

◆ XGBoosterSerializeToBuffer()

int XGBoosterSerializeToBuffer ( BoosterHandle  handle,
bst_ulong out_len,
const char **  out_dptr 
)

基于内存快照的序列化方法。将所有状态保存到缓冲区中。

参数
handlehandle
out_len用于保存输出长度的参数
out_dptr用于保存输出数据指针的参数
返回
成功返回 0,失败返回 -1

◆ XGBoosterUnserializeFromBuffer()

int XGBoosterUnserializeFromBuffer ( BoosterHandle  handle,
const void *  buf,
bst_ulong  长度 
)

基于内存快照的序列化方法。加载从 XGBoosterSerializeToBuffer 返回的缓冲区。

参数
handlehandle
buf指向缓冲区的指针
长度缓冲区的长度
返回
成功返回 0,失败返回 -1