아래의 코드를 보면 마치 self.flatten=nn.Flatten() 이 flatten 변수를 선언했고, 두 번째 노란음영인 x=self.flatten(x)에서 인스턴스 혹은 변수에 값을 넣는 것으로 보인다. 이런 형식을 처음 보면 마치 python이 변수 안에 변수를 인자로 받는 것처럼 느껴질 수 있다.
실제로는 self.flatten은 nn.Flatten이라는 class 명을 치환한 것이고, nn.Flatten 클래스를 호출할때 사용할 수 있다. 즉, x= self.flatten(x)는 nn.Flatten(x)와 동일한 문법이다.
엄밀히 말하면 이건 인스턴스화(instanstiate)이고, 관련 내용은 해당 키워드로 구글링하는 것을 추천
출처: 빠른 시작(Quickstart) — 파이토치 한국어 튜토리얼 (PyTorch tutorials in Korean)
728x90
'Computer Vision' 카테고리의 다른 글
[환경 구축] Windows11 / WSL2 / NVIDIA GeForce GTX 1660 Ti / Pytorch / VS code 환경에서 딥러닝 개발하기 (0) | 2022.09.30 |
---|---|
(진행 중) [논문리뷰] Batch Normalization (0) | 2022.09.13 |
[Python] .scatter()함수 이해 (0) | 2022.08.18 |
(pred.argmax(1) == y).type(torch.float).sum().item() 해석 (0) | 2022.08.17 |
nn.Module 입력과 forward 함수: Pytorch에서 모델 호출법 (0) | 2022.08.16 |