인프런 커뮤니티 질문&답변
케라스모델을 이용한 소프트맥스 서브클래싱에서 call함수는 내장함수인가요?
작성
·
233
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다.
call 함수는 파이썬에서 __call__ 메소드를 사용하는 객체를 함수처럼 호출할 수 있게 해주는 내장 메소드입니다. Keras 모델에서 call 메소드는 모델이 학습 또는 예측을 수행할 때 데이터가 모델을 “통과”하는 방식을 정의하는 데 사용됩니다. 즉, call 메소드는 사용자가 정의한 커스텀 모델에서 오버라이딩(재정의)하여, 모델의 순전파(forward pass) 동작을 사용자가 원하는 대로 구현할 수 있게 해줍니다.
이 경우, SoftmaxRegression 클래스는 tf.keras.Model을 상속받아 정의되었고, call 함수를 직접 구현하여 모델이 데이터를 받았을 때 어떤 연산을 수행할지를 정의하고 있습니다. 따라서, 여기서의 call 함수는 내장 함수라기보다는 클래스 내에 오버라이딩된 메소드에 가깝습니다.






내장함수는 __call__과 같이 언더바가 있는 거 같은데...혹시 오버라이딩일까요?