pytorch入门(2)-------神经网络的构建

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’)) 来导入.

 

猜你喜欢

转载自www.cnblogs.com/Lee-yl/p/9885011.html
今日推荐