昇思学习25天打卡,Day8:保存与加载
在学习了如何调整超参数,并进行网络模型训练之后,在训练网络模型的过程中,实际上我们希望保存中间和最后的结果,用于微调(fine-tune)和后续的模型推理与部署,今天将学习如何保存与加载模型。
保存与加载模型权重
保存模型使用save_checkpoint 接口,传入网络和指定的保存路径:
要加载模型权重,需要先创建相同模型的实例,然后使用load_checkpoint和load_param_into_net方法加载参数。
– param_not_load是未被加载的参数列表,为空时代表所有参数均加载成功。
(加载参数后,目录下得到model.ckpt)
保存和加载MindIR
除Checkpoint外,MindSpore提供了云侧(训练)和端侧(推理)统一的中间表示(Intermediate Representation,lR)。可使用export 接口直接将模型保存为MindIR。
– MindlR同时保存了Checkpoint和模型结构,因此需要定义输入Tensor来获取输入shape。
已有的MindIR模型可以方便地通过load 接口加载,传入nn.Graphcell即可进行推理。
– nn.Graphcell 仅支持图模式。
(推理后目录下得到model.mindir)