Hello Computer Vision

super().__init__() 쓰는 이유 및 부모 클래스 상속 본문

딥러닝/파이토치

super().__init__() 쓰는 이유 및 부모 클래스 상속

지웅쓰 2023. 2. 10. 15:04

pytorch를 사용하다 보면은 클래스를 정의할 때 nn.Module을 상속받고 다음 코드에 super().__init__()

사용할 때가 많다. 일단 super() 를 쓰는 이유에 대해서는 상위 클래스를 상속받기 위해서는 먼저 초기화를 해줌으로써

이 상위 클래스의 속성을 sub class가 받아오도록 하는 것이다.(sub class : 현재 내가 정의하는 class)

 

nn.Module같은 경우 우리가 많이 쓰는 Linear, Conv2d 같이 nn.Module의 instance들을 sub class내에서 자유롭게 사용할 수 있는 것이다.