我有一个网络,我需要在其中添加我自己想要可训练的参数。我正在使用nn.Parameter()添加此参数,但有一个“需要 Grad”参数,并且通过阅读文档我无法真正理解我是否希望这是 true 或 false。我将其设置为 true 是有道理的,因为我希望这个参数作为学习过程的一部分进行优化 - 但这个参数的需要让我感到困惑:如果 False 意味着它没有作为训练过程的一部分进行优化,那么为什么要使用 nn.Parameter() 而不是仅仅使用普通的 Tensor?
从文档中我看到它将参数添加到您从模型获得的可表达参数列表中,但我不明白如果您不优化它,为什么您会想要这个。
据我所知,有时您可能需要冻结/解冻神经网络的某些部分,并避免/让某些参数在训练过程中进行优化。“requires_grad”参数提供了一种在反向传播阶段包含或排除网络参数的简单方法。您只需将其设置为 True 或 False 即可。
| 归档时间: |
|
| 查看次数: |
3251 次 |
| 最近记录: |