小编the*_*son的帖子

模型使用 SGD 而不是 Adam 学习

我在这里浏览了一个基本的 PyTorch MNIST 示例并注意到当我将优化器从 SGD 更改为 Adam 时,模型没有收敛。具体来说,我将第 106 行从

optimizer = optim.SGD(model.parameters(), lr=args.lr, momentum=args.momentum)
Run Code Online (Sandbox Code Playgroud)

optimizer = optim.Adam(model.parameters(), lr=args.lr)
Run Code Online (Sandbox Code Playgroud)

我认为这不会对模型产生影响。使用 SGD,损失在大约四分之一的 epoch 后迅速降至低值。然而,对于 Adam,即使在 10 个 epoch 之后,损失也没有下降。我很好奇为什么会这样;在我看来,这些应该具有几乎相同的性能。

我在 Win10/Py3.6/PyTorch1.01/CUDA9 上运行这个

为了节省一点代码挖掘的时间,这里是超参数:

  • lr=0.01
  • 动量=0.5
  • 批量大小=64

python adam machine-learning pytorch sgd

2
推荐指数
1
解决办法
261
查看次数

标签 统计

adam ×1

machine-learning ×1

python ×1

pytorch ×1

sgd ×1