케라스 서브클래싱 API

1. Subclass API는 언제 사용하나요?

Subclass API는 Sequential API 및 Functional API를 사용하여 구현할 수 없는 복잡한 모델에 사용됩니다.

대부분의 딥러닝 모델은 기능적 API를 사용하고 단순 모델은 순차 API를 사용합니다.

하지만

1. 기존 모델 구조 외에 새로운 아키텍처를 구현할 때

2. 다음과 같이 DAG(Directed Acyclic Graph) 알고리즘을 따르지 않는 모델을 구현할 때 B. 재귀 네트워크 및 트리 RNN.

3. 실험적 연구 또는 매우 유연한 모델 구조가 필요한 경우

하위 클래스 API가 사용됩니다.

  1. 순차 API
    • 장점 : 간단하게 레이어를 쌓아서 사용하기 쉽습니다.

    • 단점: 다중 입력, 다중 출력 모델 또는 연결 또는 추가와 같은 작업을 수행하는 모델을 구현하는 데 적합하지 않습니다.

      이러한 모델의 구현은 기능적 API를 사용해야 합니다.

  2. 기능적 API
    • 장점: Sequential API로 구현하기 어려운 복잡한 모델을 구현할 수 있습니다.

    • 단점 : 모델 앞에서 입력폼의 사양으로 입력평면을 정의해야 한다.

  3. 서브클래스 API
    • 장점: Functional API로 구현할 수 없는 모델도 구현이 가능하다.

    • 단점: 사용하기에 가장 복잡한 코드인 객체 지향 프로그래밍에 익숙해야 합니다.