작성
·
458
0
해당 강의 8:18 에서
self.layers를 선언할 때,
Layer(input_dim, 256. batch_norm, dropout),
Layer(256, 256, batch_norm, dropout),
Layer(256, 128, batch_norm, dropout),
으로 계층들을 선언을 하는 과정에서,
Layer들을 선언 했을 때, Layer 클래스 안에 있는 init 매소드만 실행이 되서 생성된 Layer 객체들 안에 self.layer에 값들이 할당이 된것인지
.Layer 객체들에서 forward 매소드에서 필요한 인자 (x)를 할당받은 부분이 없기 때문에 DNNModel 클래스의 self.layers를 할당하는 과정에서는 Layer 객체들의 forward 매소드가 실행을 하지 않은 것인지
2가지 질문을 드립니다.
답변 1
0
안녕하세요. 답변도우미입니다.
1번에 대해서는 파이썬 클래스 문법에서 init 메서드는 초기화(initialize) 메서드입니다. 그래서 해당 메서드가 호출된 것이고요. 2번에 대해서는 정확히 제가 질문을 이해했는지가 조금 애매하긴 한데요. forward() 함수는 model 객체를 데이터와 함께 호출하면 자동으로 실행이됩니다. 예를 들어 model이란 이름의 객체를 생성 후, model(입력 데이터)와 같은 형식으로 객체를 호출하면 자동으로 forward 연산이 수행됩니다.
감사합니다.