在这个教程中,我们将学习如何在 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