인프런 커뮤니티 질문&답변

문환룡님의 프로필 이미지
문환룡

작성한 질문수

처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part4]

딥러닝 코드에 Batch Normalization 적용해보기

딥러닝 코드에 Batch Normalization 적용해보기 질문입니다

작성

·

449

0

해당 강의 8:18 에서

self.layers를 선언할 때,

Layer(input_dim, 256. batch_norm, dropout),

Layer(256, 256, batch_norm, dropout),

Layer(256, 128, batch_norm, dropout),

으로 계층들을 선언을 하는 과정에서,

  1. Layer들을 선언 했을 때, Layer 클래스 안에 있는 init 매소드만 실행이 되서 생성된 Layer 객체들 안에 self.layer에 값들이 할당이 된것인지

  2. .Layer 객체들에서 forward 매소드에서 필요한 인자 (x)를 할당받은 부분이 없기 때문에 DNNModel 클래스의 self.layers를 할당하는 과정에서는 Layer 객체들의 forward 매소드가 실행을 하지 않은 것인지

     

2가지 질문을 드립니다.

답변 1

0

안녕하세요. 답변도우미입니다.

1번에 대해서는 파이썬 클래스 문법에서 init 메서드는 초기화(initialize) 메서드입니다. 그래서 해당 메서드가 호출된 것이고요. 2번에 대해서는 정확히 제가 질문을 이해했는지가 조금 애매하긴 한데요. forward() 함수는 model 객체를 데이터와 함께 호출하면 자동으로 실행이됩니다. 예를 들어 model이란 이름의 객체를 생성 후, model(입력 데이터)와 같은 형식으로 객체를 호출하면 자동으로 forward 연산이 수행됩니다.

감사합니다.

 

문환룡님의 프로필 이미지
문환룡

작성한 질문수

질문하기