본문 바로가기

Computer Vision

Python 변수로 Class 명 치환(Instanstiate)

아래의 코드를 보면 마치 self.flatten=nn.Flatten() 이 flatten 변수를 선언했고, 두 번째 노란음영인 x=self.flatten(x)에서 인스턴스 혹은 변수에 값을 넣는 것으로 보인다. 이런 형식을 처음 보면 마치 python이 변수 안에 변수를 인자로 받는 것처럼 느껴질 수 있다.

 

실제로는 self.flattennn.Flatten이라는 class 명을 치환한 것이고, nn.Flatten 클래스를 호출할때 사용할 수 있다. 즉, x= self.flatten(x)는 nn.Flatten(x)와 동일한 문법이다.

 

엄밀히 말하면 이건 인스턴스화(instanstiate)이고, 관련 내용은 해당 키워드로 구글링하는 것을 추천

출처: 빠른 시작(Quickstart) — 파이토치 한국어 튜토리얼 (PyTorch tutorials in Korean)

728x90