살다가 궁금해질때가 있으니까...
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의 성질들만 남는다.
그렇다.