https://blog.csdn.net/broken_promise/article/details/81174760
一、神经网络的构建:
激励函数的选择,如果层数较少的神经网络,激励函数有多种选择,在图像卷积神经网络中,激励函数选择ReLu,在循环神经网络中,选择ReL或者Tanh。
所有的层结构和损失函数都来自于torch.nn,所有的模型构建都是从这个基类nn.Module继承的。
定义完模型, 来定义损失函数, 常见的损失函数都定义在 nn 中. 这样我们就能求得输出和真是目标之间的损失函数.
criterion = nn.CrossEntropyLoss()
loss = criterion(output, target)
二、神经网络的优化:
optimizer = torch.optim(model.parameters(), lr=0.01, momentum=0.9)
三、模型的保存和加载:
在 Pytorch 中使用 torch.save 来保存模型的结构和参数,有两种方式
1. 保存整个模型的结构信息和参数信息, 保存的对象是模型 model
2. 保存模型的参数, 保存的对象是模型的状态 model.state_dict()
save 的第一个参数是保存的对象, 第二个是保存的路径及名称
torch.save(model, './model.pth') # 方式1 torch.save(model.state_dict(), './model_state.pth') # 方式2
加载模型对应两种保存方式也有两种
1. 加载完整的模型结构和参数信息, 使用 load_model = torch.load(‘model.pth’) 在网络较大的时候记载时间教程, 存储空间较大
2. 加载模型参数信息, 需要先导入模型的结构, 然后通过 model.load_state_dict(torch.load(‘model_state.pth’)) 来导入.