如何使用torch.optim.Adam
时间: 2023-09-01 21:11:46 浏览: 127
torch.optim.Adam是PyTorch中的一种优化器,可以用于训练神经网络模型。它是一种自适应学习率的优化算法,能够自动调节学习率并适应不同的数据集和模型。
使用torch.optim.Adam的步骤如下:
1. 导入torch.optim.Adam:
```python
import torch.optim as optim
optimizer = optim.Adam(model.parameters(), lr=0.001)
```
2. 定义损失函数:
```python
criterion = nn.CrossEntropyLoss()
```
3. 在训练循环中,将优化器与损失函数传递给模型:
```python
for epoch in range(num_epochs):
running_loss = 0.0
for i, data in enumerate(trainloader, 0):
# 获取输入和标签
inputs, labels = data
# 梯度清零
optimizer.zero_grad()
# 前向传播和计算损失
outputs = model(inputs)
loss = criterion(outputs, labels)
# 反向传播和优化
loss.backward()
optimizer.step()
# 统计损失值
running_loss += loss.item()
print('Epoch [%d/%d], Loss: %.4f' % (epoch+1, num_epochs, running_loss / len(trainset)))
```
在这个训练循环中,我们对模型进行了前向传播、计算损失、反向传播和优化。每个epoch结束后,我们打印出平均损失值。
阅读全文