torch.optim
是 PyTorch 中用于实现优化算法的模块。它提供了一系列优化算法的实现,用于训练神经网络时更新模型参数以减小损失函数。这个模块包含了很多常见的优化算法,比如随机梯度下降(SGD)、Adam、Adagrad 等。
一些 torch.optim
中常用的优化器包括:
torch.optim.SGD
: 随机梯度下降算法。通过调整学习率和动量等参数,可以进行不同变体的 SGD。
optimizer = torch.optim.SGD(model.parameters(), lr=0.01, momentum=0.9)
torch.optim.Adam
: Adam 优化算法。Adam 是一种自适应学习率的算法,它可以自动调整每个参数的学习率。
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)
torch.optim.Adagrad
: Adagrad 优化算法。它根据参数的历史梯度进行学习率调整。
optimizer = torch.optim.Adagrad(model.parameters(), lr=0.01)
使用 torch.optim
中的这些优化器,你可以方便地选择适合你的任务的优化算法,并在训练过程中通过反向传播更新模型参数。