PyTorch中怎么使用优化器

avatar
作者
筋斗云
阅读量:0

在PyTorch中,可以使用torch.optim模块中的优化器来优化模型的参数。以下是一个示例代码,展示了如何使用优化器来训练一个简单的神经网络模型:

import torch import torch.nn as nn import torch.optim as optim  # 定义一个简单的神经网络模型 class SimpleModel(nn.Module):     def __init__(self):         super(SimpleModel, self).__init__()         self.fc = nn.Linear(10, 1)          def forward(self, x):         return self.fc(x)  # 创建模型实例 model = SimpleModel()  # 定义优化器,这里使用随机梯度下降优化器 optimizer = optim.SGD(model.parameters(), lr=0.01)  # 定义损失函数,这里使用均方误差损失函数 criterion = nn.MSELoss()  # 模拟一些输入数据和标签 inputs = torch.randn(1, 10) labels = torch.randn(1, 1)  # 清空梯度 optimizer.zero_grad()  # 前向传播 outputs = model(inputs)  # 计算损失 loss = criterion(outputs, labels)  # 反向传播 loss.backward()  # 更新参数 optimizer.step() 

在上面的示例中,我们首先定义了一个简单的神经网络模型 SimpleModel,然后创建了模型实例,并定义了优化器,损失函数以及输入数据和标签。接着,我们清空了优化器的梯度,进行了前向传播和损失计算,然后进行了反向传播和参数更新。通过多次迭代这个过程,就可以训练模型并优化参数。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!