Torch 参数#

Parameter 被视为 module 参数的一种张量。ParameterTensor 的子类,当与 Module 一起使用时,它们有一个非常特殊的属性——当它们被赋值为 Module 属性时,它们会自动添加到它的参数列表中,并会出现在 parameters() 迭代器中。赋值 Tensor 没有这样的效果。这是因为可能需要在模型中缓存一些临时状态,比如 RNN 的最后一个隐藏状态。如果没有 Parameter 这样的类,这些临时变量也会被注册。

import torch
torch.nn.Module.parameters
<function torch.nn.modules.module.Module.parameters(self, recurse: bool = True) -> Iterator[torch.nn.parameter.Parameter]>