【问题标题】:Pytorch guide not using optim to trainPytorch 指南不使用 optim 进行训练
【发布时间】:2020-11-20 16:25:17
【问题描述】:

我目前正在阅读 Pytroch 网站上的指南:https://pytorch.org/tutorials/intermediate/char_rnn_classification_tutorial.html

我之前做过 pytorch 项目,他们总是使用优化器。本指南改为使用此处的代码:

    # Add parameters' gradients to their values, multiplied by learning rate
    for p in rnn.parameters():
        p.data.add_(p.grad.data, alpha=-learning_rate)

我对此感到困惑,想知道为什么会这样。此外,我尝试使用优化器重写代码,但无法学习。它使用了循环神经网络,这可能是原因,但我不确定为什么。谢谢!

【问题讨论】:

    标签: python machine-learning neural-network pytorch recurrent-neural-network


    【解决方案1】:

    为什么您希望它起作用?基本上它正在做的是手动实现一个优化器。 p.data 是参数的存储值。它还提供了一个计算+= 的内部函数add_。一旦调用了loss.backward(),pytorch 也会计算并存储梯度。它只是从反向传递中获取梯度值并更新参数以执行梯度下降。优化器也没有理由不在这里工作,但除非您提供更多信息,否则我无能为力。

    【讨论】:

      猜你喜欢
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      • 2021-07-01
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      • 2020-01-12
      • 2022-08-19
      相关资源
      最近更新 更多