序列化
简介
Qlib支持将DataHandler、DataSet、Processor、Model等组件的状态保存至磁盘并重新加载。
可序列化类
Qlib提供了一个基础类qlib.utils.serial.Serializable
,其状态可以以pickle格式保存到磁盘或从磁盘加载。当用户将一个Serializable实例的状态dump至磁盘时,该实例不以下划线(_)开头的所有属性会被保存。然而,用户可以通过config
方法或覆盖default_dump_all
属性来禁用这一特性。
此外,用户还可以通过覆盖pickle_backend
属性来自定义序列化的pickle后端。目前支持的值包括“pickle”(默认且常用)和“dill”(能够保存更多类型如函数等,更多信息可参考相关文档)。
示例
Qlib中的可序列化类包括DataHandler、DataSet、Processor和Model等,它们都是qlib.utils.serial.Serializable
的子类。具体来说,qlib.data.dataset.DatasetH
就是其中之一。用户可以按如下方式序列化DatasetH
。
## 序列化数据集
dataset.to_pickle(path="dataset.pkl") # dataset 是 qlib.data.dataset.DatasetH 的一个实例## 重新加载数据集
with open("dataset.pkl", "rb") as file_dat