딥러닝 init 할때 super(자기자신)은 뭘까

Yondu·2022년 1월 21일
2

살다가 궁금해질때가 있으니까...

class GraphConvolution(Module):

def __init__(self, in_features, out_features, bias=True):
    super(GraphConvolution, self).__init__()
    self.in_features = in_features
    self.out_features = out_features

이렇게 nn.Module 상속받는 경우에 이니셜 메소드에 super가 있는데
저게 도통 무슨 역할인지 궁금하다면...

파이썬2의 문법인데, 인자는 상속받는 자식의 이름을 넣는다.

super(name, self).init()
을 해줌으로써 Module의 인자를 name이 다 받아온다.

안해주면? 덮어쓰기되서 부모 Module이 물려준 인자는 다 없어지고 새로 추가한 name의 성질들만 남는다.

그렇다.

profile
욘두 개발 오류 모음

0개의 댓글