본문 바로가기
프로그래밍/독학(어려워요 같이해요)

tf.keras.models.sequential() 이런식으로 점이 하나 이상 사용되는 부분들이 있는데 이런 경우는 어떻게 해석해야되나요?

by 노마드데이터랩 2020. 5. 6.
728x90
반응형

오늘의 질문입니다. 오늘은 케라스 시퀀셜 API에 대해 질문을 해주셨네요. 질문 내용은 다음과 같습니다.

 

파이썬 공부하는 학생입니다. 파이썬에서 라이브러리를 호출하는 방법은 배웠습니다.

예를 들어 Tensorflow를 호출하려면 import tensorflow as tf 하면 되는데요. 이것까지는 이해가 됩니다.

그리고 모듈에 있는 함수를 불러서 쓸때는 모듈명.함수명() 으로 쓴다고 배웠습니다.

근데 tf.keras.models.sequential() 이런식으로 점이 하나 이상 사용되는 부분들이 있는데 이런 경우는 어떻게 해석해야되나요?

tf(tensorflow)는 모듈명이고, keras는 함수명인 것같은데... 혹시 keras 함수안에 models함수가 있고 models함수 안에 sequential함수가 있는 건가요??

 

답변드리겠습니다.

keras는 케라스라고 부릅니다. 케라스는 모든 종류의 신경망을 손쉽게 만들고 훈련, 평가, 실행할 수 있는 고수준 딥러닝 API입니다. API 문서는 http://keras.io에 있습니다. 케라스는 텐서플로(tensorflow) 기반으로 만들어진 라이브러리입니다. 케라스는 프랑수아 숄레가 연구 프로젝트의 일환으로 개발했으며 2015년 3월에 오픈소스로 공개되었습니다.

그러면 살펴보겠습니다. tf(tensorflow)는 모듈명이고, keras는 함수명인 것같은데... 혹시 keras 함수안에 models함수가 있고 models함수 안에 sequential함수가 있는 건가요? -> 넵. 맞습니다. 

from tensorflow.keras import models
model = tf.keras.Sequential()

 

말 그대로 "tensorflow 안에 있는 keras라는 라이브러리를 가져오겠다." 라는 뜻이구요. 그러면 keras 라이브러리 안에 있는 models라는 모듈안에 있는 sequential 함수를 가져오겠다. 라는 의미가 됩니다. 이것은 Sequential 모델을 만듭니다. 이 모델은 케라스 중 가장 간단한 신경망 모델이구요. 순서대로 연결된 층을 일렬로 쌓아서 구성합니다. 이를 시퀀셜 API라고 부릅니다.

그럼 keras.io의 예제 코드를 한번 사용해보겠습니다.

from tensorflow.keras.layers import Dense
output_layer = Dense(10)

또는

from tensorflow import keras
output_layer = keras.layers.Dense(10)

 

이 2개의 코드는 같은 의미입니다. 대충 느낌 오시죠??

 

오늘은 케라스의 라이브러리 코드 중 시퀀셜 API에 대해 알아보았습니다. 화이팅하시기 바랍니다. 감사합니다.

728x90
반응형

댓글