torch.optim.Adam()应用实例
时间: 2023-12-16 21:06:11 浏览: 111
浅谈Pytorch torch.optim优化器个性化的使用
下面是一个简单的应用实例,使用torch.optim.Adam()函数来训练一个简单的线性回归模型:
```python
import torch
import torch.optim as optim
# 定义数据集
x_train = torch.randn(100, 1)
y_train = 3 * x_train + 0.5 * torch.randn(100, 1)
# 定义模型
model = torch.nn.Linear(1, 1)
# 定义优化器
optimizer = optim.Adam(model.parameters(), lr=0.01)
# 定义损失函数
criterion = torch.nn.MSELoss()
# 训练模型
for epoch in range(100):
# 前向传播
y_pred = model(x_train)
# 计算损失
loss = criterion(y_pred, y_train)
# 反向传播
optimizer.zero_grad()
loss.backward()
optimizer.step()
# 输出损失
print('Epoch [{}/{}], Loss: {:.4f}'.format(epoch+1, 100, loss.item()))
```
在上面的代码中,首先定义了一个简单的数据集,然后定义了一个一层的线性回归模型。接下来使用torch.optim.Adam()函数定义了一个Adam优化器对象,并指定了学习率lr为0.01。然后定义了平均平方误差损失函数,并使用该优化器对象对模型进行训练。在每个epoch中,先进行前向传播计算预测值,然后计算损失并进行反向传播更新模型参数。最后输出每个epoch的损失值。
阅读全文