torch.optim.AdamW() 是 PyTorch 中的优化器类,它是基于 Adam 优化算法的一种改进版本。AdamW 优化器在 Adam 的基础上引入了权重衰减(weight decay)的概念,用于正则化模型参数。
AdamW 优化器的使用方式与其他 PyTorch 优化器类似,可以按照以下步骤来使用:
1. 导入相关库:
```python
import torch
import torch.optim as optim
```
2. 定义模型:
```python
model=YourModel()
```
3. 定义损失函数:
```python
criterion=YourLossFunction()
```
4. 定义优化器:
```python
optimizer=optim.AdamW(model.parameters(), lr=learning_rate, weight_decay=weight_decay)
```
其中,`model.parameters()` 用于获取模型的可训练参数,`lr` 是学习率(learning rate),`weight_decay` 是权重衰减系数(通常设置为一个较小的正数)。
5. 在训练循环中使用优化器:
```python
optimizer.zero_grad() # 清空之前的梯度
outputs=model(inputs) # 前向传播
loss=criterion(outputs, labels) # 计算损失
loss.backward() # 反向传播
optimizer.step() # 更新参数
```
通过调用 `optimizer.step()` 来更新模型的参数,并且根据损失函数的梯度信息自动计算参数的梯度。
这样,使用 AdamW 优化器可以帮助你更好地训练模型,并且在一些情况下能够提供更好的效果。