nn.Parameter
nn.Parameter
Pytorch torch.nn.Parameter
一种张量,可以认为是模块参数,神经网络参数。
参数是Tensor子类,当与Modules一起使用时具有非常特殊的属性-当它们被分配为Module属性时,它们会自动添加到其参数列表中,并且会出现在例如parameters()迭代器中。而张量则没有这种效应。这是因为人们可能想在模型中缓存一些临时状态,比如RNN的最后一个隐藏状态。如果没有Parameter这样的类,这些临时变量也会被注册。
classtorch.nn.parameter.Parameter(data=None, requires_grad=True)
Parameters:
- data (Tensor) – 参数张量。
- requires_grad (bool, optional) – 如果参数需要梯度。请注意,torch.no_grad() 上下文不会影响创建参数的默认行为–在 no_grad 模式下,参数的 requires_grad=True 值仍为 True。更多详情,请参阅本地禁用梯度计算。默认值: true
以上都是Pytorch的文档中的内容,其实说白了,torch.nn.Parameter就是一个张量,在神经网络的时候,它可以作为作为神经网络的训练的参数。虽然普通的tensor也可以通过设置requires_grad=True
来得到梯度,但是它不能自动包括到model.Parameters()中,而nn.Parameter可以。
1 |
|
nn.Parameter
http://jiqingjiang.github.io/p/a7eff039/