PyTorch-知识总结

model.train() and model.eval()

  • 定义了模型的训练和测试两种模式, 对部分层有影响, 如Dropout和BatchNormal
  • Dropout: 为了增加模型的泛化能力(防止过拟合),训练过程中可以随机屏蔽掉一些神经元,测试时恢复。
  • BatchNormal: 训练过程中有BatchSize个数据并行化训练,可以通过BN批量化进行归一化处理, 测试时候只输入单个数据,model.eval()防止BN出错。
  • train()模式: 设置训练模型,进行统一配置
  • eval()模式: 设置测试模型,进行统一配置

PyTorch模型保存文件类型.pt,.pth,.pkl

文件后缀名不同,保存文件内容一样, 序列化与反序列化作用来保存和加载模型
reference

PyTorch模型保存与加载

  • 保存模型参与与加载
torch.save(model.state_dict(), "model_dict.pt")
model=Net()
model.load_state_dict(torch.load(model_dict.pt))
model.eval()
  • 保存整个模型与加载
torch.save(model,"model.pt")
model=torch.load("model.pt")
posted @ 2021-04-18 17:12  -Rocky-  阅读(127)  评论(0编辑  收藏  举报