작성
·
661
답변 1
0
Sequential 과 Functional API의 차이는 Keras가 딥러닝 모델을 구현하는 방법의 차이입니다.
둘 다 Keras가 딥러닝 모델을 만들 때 활용 될 수 있습니다.
다만 Sequential은 Keras의 Model 객체입니다. 그래서 Sequential 객체를 사용하면 Model 안에 layer들을 인자로 차례로 입력해 줍니다. 그러니까 model = Sequential([Flatten(..), Dense(...), Dense(...)]) 과 같이 Sequential()의 인자로 개별 layer들을 [ ] 안에 입력해서 만들거나
model = Sequential()
model.add(Flatten())
model.add(Dense())
model.add(Dense())
와 같이 add()메소드를 이용해서 만들수도 있습니다.
하지만 Functional API를 이용해서 모델을 만들려면 개별 Layer들을 연속적으로 연결 시키는 작업을 계속 수행합니다.
그래서 Input Layer만들고 다음 Layer를 만드는데 이걸 연결해서 만듭니다. Functional API를 적용한 부분을 보면 이전 Input을 받아서 현 Layer를 연결한 결과를 Output으로 생성하고, 이 Output을 다시 다음 Layer의 Input으로 입력해서 Output을 만드는 작업을 하면서 Layer를 연결해 나가고, 최종적으로 Model을 생성시 Input과 최종 Output을 지정해서 Model을 만드는 방식입니다.
요약하자면 Sequential과 Functional API는 Keras에서 모델을 만드는 방식이 서로 다른 것입니다.
감사합니다.
답변주셔서 감사합니다!