ModelCheckpoint¶
- class paddle.callbacks. ModelCheckpoint ( save_freq=1, save_dir=None ) [源代码] ¶
-
ModelCheckpoint
回调类和 model.fit 联合使用,在训练阶段,保存模型权重和优化器状态信息。当前仅支持在固定的 epoch 间隔保存模型,不支持按照 batch 的间隔保存。子方法可以参考基类。
参数¶
save_freq (int,可选) - 间隔多少个 epoch 保存模型。默认值:1。
save_dir (int,可选) - 保存模型的文件夹。如果不设定,将不会保存模型。默认值:None。
代码示例¶
import paddle
import paddle.vision.transforms as T
from paddle.vision.datasets import MNIST
from paddle.static import InputSpec
inputs = [InputSpec([-1, 1, 28, 28], 'float32', 'image')]
labels = [InputSpec([None, 1], 'int64', 'label')]
transform = T.Compose([
T.Transpose(),
T.Normalize([127.5], [127.5])
])
train_dataset = MNIST(mode='train', transform=transform)
lenet = paddle.vision.models.LeNet()
model = paddle.Model(lenet,
inputs, labels)
optim = paddle.optimizer.Adam(0.001, parameters=lenet.parameters())
model.prepare(optimizer=optim,
loss=paddle.nn.CrossEntropyLoss(),
metrics=paddle.metric.Accuracy())
callback = paddle.callbacks.ModelCheckpoint(save_dir='./temp')
model.fit(train_dataset, batch_size=64, callbacks=callback)