加载与保存张量使用torch.save(要保存的张量,‘名称’),torch.load('名称')
张量列表与字典均可,以下举例张量列表
import torch
x=torch.arange(4)
y=torch.zeros(4)
torch.save([x,y],'xy_list')
xx,yy=torch.load('xy_list')
对于深度学习神经网络,为了保存所有的参数,采用以下代码:
#假设前面定义了一个网络net=MLP()
torch.save(net.state_dict(),'statedict')
#为了恢复模型,进行备份
clone_net=MLP()
clone_net.load_state_dict(torch.load('statedict'))
clone_net.eval()
#此时clone_net与原本net恢复一致
eval是做什么的?在深度学习中,调用eval()
方法是为了将模型设置为评估模式,即告诉模型在推理(inference)阶段运行时不要进行梯度计算和参数更新。这通常用于在模型训练完成后,进行模型在测试集或实际应用中的预测时使用。
load_state_dict是将模型恢复原本参数的内置函数