더북(TheBook)

다음 절에서 build()call() 메서드의 목적에 대해 자세히 다루겠습니다. 지금은 모두 이해되지 않아도 걱정하지 마세요!

이 클래스의 인스턴스를 생성하면 텐서플로 텐서를 입력으로 받는 함수처럼 사용할 수 있습니다.

>>> my_dense = SimpleDense(units=32, activation=tf.nn.relu) 
>>> input_tensor = tf.ones(shape=(2, 784)) 
>>> output_tensor = my_dense(input_tensor) 
>>> print(output_tensor.shape)
(2, 32)

앞서 정의한 층의 인스턴스를 만듭니다.

테스트 입력을 만듭니다.

이 입력으로 층을 함수처럼 호출합니다.

이 층을 있는 그대로 호출했기 때문에, 다시 말해서 __call__() 메서드를 사용하여 호출했기 때문에5 call()build() 메서드를 왜 구현해야 했는지 궁금할 것입니다. 이유는 때에 맞추어 가중치를 생성해야 하기 때문입니다. 어떻게 동작하는지 알아보죠.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.