Sequential 모델Functional 모델Subclassing 모델Sequential 모델은 순차 모델이라고 표현되기도 한다. Sequential 모델이라는 모델을 생성하고 여기서 원하는 layer를 순차적으로 쌓아가는 방식이다.
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
# Define Sequential model with 3 layers
model = keras.Sequential(
[
layers.Dense(2, activation="relu"),
layers.Dense(3, activation="relu"),
layers.Dense(4),
]
)
위와 같이 layer를 쌓을 수도 있고 아래와 같이 layer를 쌓을 수도 있다.
# Define Sequential model with 3 layers
model = keras.Sequential()
model.add(layers.Dense(2, activation="relu"))
model.add(layers.Dense(3, activation="relu"))
model.add(layers.Dense(4))
model = keras.Sequential(name="my_sequential")
model.add(layers.Dense(2, activation="relu", name="layer1"))
model.add(layers.Dense(3, activation="relu", name="layer2"))
model.add(layers.Dense(4, name="layer3"))
model = keras.Sequential(
[
layers.Dense(2, activation="relu"),
layers.Dense(3, activation="relu"),
layers.Dense(4),
]
)
model.summary()
위와 같은 경우 input이 없기 때문에 model이 빌드 되지 않는다. 그래서 해당 모델의 내용을 확인하기 위해 model.summary()를 했을 때 에러가 생긴다.
model = keras.Sequential()
model.add(keras.Input(shape=(4,)))
model.add(layers.Dense(2, activation="relu"))
model.summary()
그래서 위와 같이 input을 넣어주거나 아래와 같이 input을 넣어주면 model.summary()를 통해 빌드된 모델의 내용을 확인할 수 있다.
model = keras.Sequential()
model.add(layers.Dense(2, activation="relu", input_shape=(4,)))
model.summary()
import numpy as np
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
inputs = keras.Input(shape=(784,))
x = layers.Dense(64, activation="relu")(x)
outputs = layers.Dense(10)(x)
model = keras.Model(inputs=inputs, outputs=outputs, name="mnist_model")