본문 바로가기

autograd3

[pytorch] 커스텀 연산 with autograd References Autograd mechanics (link) PyTorch API documentation (link) Extending PyTorch (link) 이번 포스팅에서는 파이토치의 autograd에 대해서 조금 더 세부적으로 살펴보고(주로 공식 홈페이지 내용을 참조하였습니다), 커스텀 확장하는 방법, 즉, 커스텀 op를 구현하는 방법에 알아보도록 하겠습니다. 다룰 내용은 사실 파이토치를 사용하기 위해서 꼭 알아야 하는 내용은 아닙니다만, 알아두면 파이토치의 동작에 대해 조금 더 깊게 이해할 수 있고 디버깅할 때도 유용할 수 있습니다. Autograd Mechanics How autograd encodes the history Developer Notes에서 autograd는 revers.. 2022. 12. 26.
[pytorch] autograd References PyTorch Official Tutorial (link1, link2) 파이토치의 autograd는 파이토치가 머신러닝 프로젝트를 빌드하는데 유연하고 빠르게 만들어주는 것들 중 하나입니다. 이는 복잡한 계산인 mutiple partial derivaties (referred to as gradients)를 빠르고 쉽게 계산할 수 있도록 해줍니다. 이 연산은 backpropagation 기반의 뉴럴 네트워크 학습의 핵심입니다. autograd는 런타임에서 동적으로 연산을 추적합니다. 즉, 모델에 decision branches나 길이를 런타임 전까지 알 수 없는 loop가 있는 경우에도 연산은 여전히 올바르게 추적되고 올바른 gradients를 얻을 수 있습니다. 이 때문에 파이토치는.. 2022. 12. 5.
[pytorch] Tutorial - Automatic Differentiation (autograd) References Official Pytorch Tutorial (link) torch.autograd Neural network를 학습할 때, 가장 많이 사용되는 알고리즘은 backpropagation 입니다. 이 알고리즘에서 파라미터, 즉, 모델의 weights는 주어진 파라미터에 대한 loss function의 gradient에 따라 조정됩니다. Gradient를 계산하기 위해서 파이토치는 torch.autograd라는 built-in differentiation engine을 사용하며, 이는 computational graph의 gradient를 자동으로 계산할 수 있도록 지원합니다. 간단하게 다음과 같이 input이 x, 파라미터가 w, b로 이루어진 하나의 레이어로 구성된 네트워크와 loss.. 2022. 11. 29.