当前位置:网站首页>print(net) vs. net.parameters vs. net.named_parameters

print(net) vs. net.parameters vs. net.named_parameters

2022-06-10 11:33:00 MallocLu

print(net)仅显示模型内部关于层的信息(不包括任何层的Paramter和自定义的Paramter)

import torch
from torch.nn.parameter import Parameter
from torch import nn
from torch.nn import functional as F
from torch import optim


class Net(nn.Module):

    def __init__(self):
        super(Net, self).__init__()

        self.linear = nn.Linear(2, 2)
        self.parameter = Parameter(torch.tensor([2.0, 2.0]))

    def forward(self, x):
        x = F.relu(self.linear(x))
        x = self.parameter * x
        return x


net = Net()
print(net)
print()
# Net(
# (linear): Linear(in_features=2, out_features=2, bias=True)
# )

for parameter in net.parameters():
    print(parameter.size())
print()
torch.Size([2])
torch.Size([2, 2])
torch.Size([2])

for name, parameter in net.named_parameters():
    print(name, ':', parameter.size())

# parameter : torch.Size([2])
# linear.weight : torch.Size([2, 2])
# linear.bias : torch.Size([2])

原网站

版权声明
本文为[MallocLu]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_42283621/article/details/125052063