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文件 URI 或文件名。字符串必须采用 UTF-8 编码。
返回值
成功时返回 0,失败时返回 -1
示例
inference.c.

◆ XGBoosterLoadModelFromBuffer()

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

从内存缓冲区加载模型

参数
handlehandle
buf缓冲区的指针
len缓冲区的长度
返回值
成功时返回 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文件 URI 或文件名。字符串必须采用 UTF-8 编码。
返回值
成功时返回 0,失败时返回 -1
示例
external_memory.c, 和 inference.c

◆ XGBoosterSaveModelToBuffer()

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

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

参数
handlehandle
config存储函数参数的 JSON 编码字符串。JSON 文档中期望包含以下键
  • "format": str
    • json: 输出的 booster 将编码为 JSON。
    • ubj: 输出的 booster 将编码为 Universal binary 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  len 
)

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

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