PyTorch-知识总结

model.train() and model.eval()

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

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

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")
上一篇:javascript eval函数的深入认识


下一篇:Loadrunner中参数和变量的使用