728x90
반응형
SMALL
모델 매개변수 (Parameter)
신경망 내부의 많은 계층들은 매개변수화 (parameterize)된다. 즉, 학습 중에 최적화되는 weight와 bias과 연관지어진다. nn.Module 을 상속하면 모델 객체 내부의 모든 필드들이 자동으로 추적 (track)되며, 모델의 parameters() 및 named_parameters() method로 모든 parameter에 접근할 수 있게 된다.
각 매개변수들을 순회하며 (iterate), 매개변수의 크기와 값을 출력한다.
print("Model structure: ", model, "\n\n")
for name, param in model.named_parameters():
print(f"Layer: {name} | Size: {param.size()} | Values : {param[:2]} \n")
Out:
Model structure: NeuralNetwork(
(flatten): Flatten(start_dim=1, end_dim=-1)
(linear_relu_stack): Sequential(
(0): Linear(in_features=784, out_features=512, bias=True)
(1): ReLU()
(2): Linear(in_features=512, out_features=512, bias=True)
(3): ReLU()
(4): Linear(in_features=512, out_features=10, bias=True)
)
)
Layer: linear_relu_stack.0.weight | Size: torch.Size([512, 784]) | Values : tensor([[-0.0022, 0.0268, -0.0294, ..., -0.0003, 0.0119, 0.0287],
[-0.0302, -0.0101, -0.0178, ..., 0.0267, 0.0028, 0.0005]],
device='cuda:0', grad_fn=<SliceBackward0>)
Layer: linear_relu_stack.0.bias | Size: torch.Size([512]) | Values : tensor([0.0060, 0.0200], device='cuda:0', grad_fn=<SliceBackward0>)
Layer: linear_relu_stack.2.weight | Size: torch.Size([512, 512]) | Values : tensor([[ 0.0271, 0.0029, 0.0394, ..., -0.0272, 0.0303, 0.0002],
[-0.0295, -0.0030, -0.0409, ..., -0.0163, -0.0404, -0.0160]],
device='cuda:0', grad_fn=<SliceBackward0>)
Layer: linear_relu_stack.2.bias | Size: torch.Size([512]) | Values : tensor([-0.0064, -0.0245], device='cuda:0', grad_fn=<SliceBackward0>)
Layer: linear_relu_stack.4.weight | Size: torch.Size([10, 512]) | Values : tensor([[-0.0007, -0.0037, 0.0023, ..., 0.0149, -0.0237, -0.0083],
[ 0.0305, 0.0092, -0.0349, ..., -0.0014, 0.0030, -0.0152]],
device='cuda:0', grad_fn=<SliceBackward0>)
Layer: linear_relu_stack.4.bias | Size: torch.Size([10]) | Values : tensor([0.0319, 0.0247], device='cuda:0', grad_fn=<SliceBackward0>)
https://tutorials.pytorch.kr/beginner/basics/buildmodel_tutorial.html
728x90
반응형
LIST
'Python Library > PyTorch' 카테고리의 다른 글
[PyTorch] 활성화 함수 : Non-linear Activations (weighted sum, nonlinearity) (0) | 2022.09.24 |
---|---|
[PyTorch] 자동 미분 (Automatic differentiation) (0) | 2022.01.13 |
[PyTorch] 모델 계층 (Layer) (0) | 2022.01.13 |
[PyTorch] 신경망 모델 구성 (0) | 2022.01.13 |
[PyTorch] 변형 (Transform) (0) | 2022.01.13 |