다음 절에서 build()와 call() 메서드의 목적에 대해 자세히 다루겠습니다. 지금은 모두 이해되지 않아도 걱정하지 마세요!
이 클래스의 인스턴스를 생성하면 텐서플로 텐서를 입력으로 받는 함수처럼 사용할 수 있습니다.
>>> 32, ➊ >>> 2, 784)) ➋ >>> ➌ >>> print(output_tensor.shape) (2, 32)
➊ 앞서 정의한 층의 인스턴스를 만듭니다.
➋ 테스트 입력을 만듭니다.
➌ 이 입력으로 층을 함수처럼 호출합니다.
이 층을 있는 그대로 호출했기 때문에, 다시 말해서 __call__() 메서드를 사용하여 호출했기 때문에5 call()과 build() 메서드를 왜 구현해야 했는지 궁금할 것입니다. 이유는 때에 맞추어 가중치를 생성해야 하기 때문입니다. 어떻게 동작하는지 알아보죠.