save

paddle. save ( obj, path, pickle_protocol=2 ) [源代码]

将对象实例obj保存到指定的路径中。

注解

目前仅支持存储 Layer 或者 Optimizer 的 state_dict

注解

不同于 paddle.jit.save ,由于 paddle.save 的存储结果是单个文件,所以不需要通过添加后缀的方式区分多个存储文件,paddle.save 的输入参数 path 将直接作为存储结果的文件名而非前缀。为了统一存储文件名的格式,我们推荐使用paddle标椎文件后缀: 1. 对于 Layer.state_dict ,推荐使用后缀 .pdparams ; 2. 对于 Optimizer.state_dict ,推荐使用后缀 .pdopt 。 具体示例请参考API的代码示例。

参数

  • obj (Object) – 要保存的对象实例。

  • path (str) – 保存对象实例的路径。如果存储到当前路径,输入的path字符串将会作为保存的文件名。

  • pickle_protocol (int, 可选) – pickle模块的协议版本,默认值为2,取值范围是[2,4]。

返回

代码示例

import paddle

emb = paddle.nn.Embedding(10, 10)
layer_state_dict = emb.state_dict()
paddle.save(layer_state_dict, "emb.pdparams")

scheduler = paddle.optimizer.lr.NoamDecay(
    d_model=0.01, warmup_steps=100, verbose=True)
adam = paddle.optimizer.Adam(
    learning_rate=scheduler,
    parameters=emb.parameters())
opt_state_dict = adam.state_dict()
paddle.save(opt_state_dict, "adam.pdopt")