torch.nn.parameters的参数有哪些
时间: 2024-05-08 13:20:09 浏览: 81
PyTorch里面的torch.nn.Parameter()详解
3星 · 编辑精心推荐
torch.nn.parameters()函数返回一个模型的所有可训练参数。这些参数通常是模型神经网络中的权重(weights)和偏置(biases)。
返回值是一个可迭代对象,每个元素都是模型参数的一个引用。模型参数是pytorch的torch.Tensor类的实例。
示例代码:
```
import torch.nn as nn
model = nn.Sequential(
nn.Linear(10, 100),
nn.ReLU(),
nn.Linear(100, 1),
)
params = list(model.parameters())
print(len(params))
for i, param in enumerate(params):
print(f"Parameter {i}: {param.size()}")
```
这段代码输出结果为:
```
4
Parameter 0: torch.Size([100, 10])
Parameter 1: torch.Size([100])
Parameter 2: torch.Size([1, 100])
Parameter 3: torch.Size([1])
```
在这个例子中,我们定义了一个含有两层的神经网络,分别是一个线性层和一个ReLU激活层,以及输出层一个线性层。我们调用`model.parameters()` 函数会返回这个模型的所有可训练参数,总共有四个参数。第1个参数是第一层的权重,大小为[100, 10](第一维代表输出维度,第二维代表输入维度)。第2个参数是第一层的偏置(biases),大小为[100]。第3个参数是第二层的权重,大小为[1, 100]。第4个参数是输出层的偏置,大小为[1]。
阅读全文