Pytorch中的Parameter 和Variable之间的比较

Parametor : 可训练的参数。net.parametors() 会返回一个模型的可学习的参数。net 是Pytorch 上定义的一个模型。

The learnable parameters of a model are returned by net.parameters()

https://stackoverflow.com/questions/50935345/understanding-torch-nn-parameter

与模块关联时,会出现变量(Variable)和参数(Parameter)之间的差异。 当参数与作为模型属性的模块关联时,它会自动添加到参数列表中,并且可以使用“参数”迭代器进行访问。

最初在Torch中,变量(例如可以是中间状态)也将在分配时作为模型的参数添加。 后来发现了用例,其中确定了需要缓存变量而不是将其添加到参数列表中的需求。

如文档中所述,RNN就是这种情况,需要保存最后一个隐藏状态,而不必一次又一次地传递它。 需要缓存一个变量而不是让它自动作为模型的参数注册的原因是因为我们有一种明确的方法将参数注册到模型中,即nn.Parameter类。

- 下一页