본문 바로가기

AI/PyTorch

[PyTorch] torch.nn 과 torch.nn.functional

naming 에서도 알 수 있듯이 torch.nn.functional은 함수고 torch.nn은 클래스로 정의되어 있다.

그렇기 때문에 torch.nn으로 구현한 클래스의 경우에는 attribute를 활용해 state를 저장하고 활용할 수 있고 torch.nn.functional로 구현한 함수의 경우에는 인스턴스화 시킬 필요 없이 사용이 가능하다.

 

 

torch.nn으로 구현한 클래스의 경우에는 attribute를 활용해 state를 저장하고 활용할 수 있고 torch.nn.functional로 구현한 함수의 경우에는 인스턴스화 시킬 필요 없이 사용이 가능하다.

 

 

 

torch.nn은 클래스 객체로 정의하고 이후에 매개변수로 해당 계산을 진행하는 방식

torch.nn.functional은 함수로 그 자리에서 바로 해당 계산을 해주는 방식

 

 

 

 

[개발팁] torch.nn 과 torch.nn.functional 어느 것을 써야 하나?

파이토치를 쓰다보니 같은 기능에 대해 두 방식(torch.nn, torch.nn.functional)으로 구현 된 것들이 있다. 관련된 글들을 찾아보니 결론은 두 방식 다 같은 결과를 제공해주며 편한 것으로 선택해서 개

cvml.tistory.com

 

 

torch.nn.functional — PyTorch 1.8.1 documentation

Shortcuts

pytorch.org

 

'AI > PyTorch' 카테고리의 다른 글

[PyTorch] torch.nn 제공함수  (0) 2021.06.15
[PyTorch] CNN 설계 순서 1 - 3  (0) 2021.06.15
[PyTorch] nn.MaxPool2d(), nn.BatchNorm2d()  (0) 2021.06.10
[PyTorch] nn.ReLU(), F.relu()  (0) 2021.06.10
[PyTorch] Intro, 외울 부분  (0) 2021.06.02