在这个教程中,我们将学习如何在 PyTorch 中优化模型。通过本教程,你将了解如何调整学习率、使用不同的优化器以及如何进行模型评估。
优化器
PyTorch 提供了多种优化器,以下是一些常用的优化器:
- SGD (Stochastic Gradient Descent): 随机梯度下降是一种常用的优化算法。
- Adam: Adam 是一种自适应学习率的优化器,通常在深度学习中表现良好。
示例代码
import torch.optim as optim
# 创建一个简单的模型
model = ...
# 定义损失函数和优化器
criterion = ...
optimizer = optim.Adam(model.parameters(), lr=0.001)
学习率调整
学习率是优化器中的一个重要参数,它决定了每次迭代中权重更新的幅度。以下是一些调整学习率的方法:
- 学习率衰减: 随着训练的进行逐渐减小学习率。
- 学习率预热: 在训练开始时使用较小的学习率,然后逐渐增加。
示例代码
# 使用学习率预热
scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=30, gamma=0.1)
for epoch in range(num_epochs):
...
scheduler.step()
模型评估
在训练模型后,我们需要评估其性能。以下是一些常用的评估指标:
- 准确率: 模型正确预测的样本数占总样本数的比例。
- 损失函数: 用于衡量模型预测值与真实值之间的差异。
示例代码
# 计算准确率
correct = ...
total = ...
accuracy = correct / total
# 打印结果
print(f'Accuracy: {accuracy * 100:.2f}%')
扩展阅读
想要了解更多关于 PyTorch 的知识,可以访问我们的PyTorch 教程页面。
PyTorch Logo