인프런 커뮤니티 질문&답변

Alex님의 프로필 이미지
Alex

작성한 질문수

딥러닝 CNN 완벽 가이드 - Fundamental 편

Functional API 이용하여 모델 만들기

Functional API 와 Sequential 은 말그대로 입력 방법의 차이인가요?

작성

·

644

0

API 라고 해서 모듈을 불러오는데는 차이가 있는게 아니라 말 그대로 모듈과의 소통하는 방식의 차이를 뜻할뿐인지 그게 궁금합니다.

물론 강의 마지막에 말씀하신 것 처럼 인풋을 알 수 있냐 없느냐의 차이도 포함해서요

답변 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에서 모델을 만드는 방식이 서로 다른 것입니다.

감사합니다.

Alex님의 프로필 이미지
Alex
질문자

답변주셔서 감사합니다!

Alex님의 프로필 이미지
Alex

작성한 질문수

질문하기