아래 코드와 같이 층을 쌓으면서 모델을 구축하면 됩니다.
import tensorflow as tf
from tensorflow import keras
model = keras.Sequential()
model.add(__넣고싶은 레이어__)
model.add(__넣고싶은 레이어__)
model.add(__넣고싶은 레이어__)
model.fit(x, y, epochs=10, batch_size=32)
Functional은 변수에 대입하면서 모델을 구축하는 것 입니다.
import tensorflow as tf
from tensorflow import keras
inputs = keras.Input(shape=(__원하는 입력값 모양__))
x = keras.layers.__넣고싶은 레이어__(관련 파라미터)(input)
x = keras.layers.__넣고싶은 레이어__(관련 파라미터)(x)
outputs = keras.layers.__넣고싶은 레이어__(관련 파라미터)(x)
model = keras.Model(inputs=inputs, outputs=outputs)
model.fit(x,y, epochs=10, batch_size=32)
class 구문을 만들어서 모델을 구축하는 것 입니다.
import tensorflow as tf
from tensorflow import keras
class CustomModel(keras.Model):
def __init__(self):
super(CustomModel, self).__init__()
self.__정의하고자 하는 레이어__()
self.__정의하고자 하는 레이어__()
self.__정의하고자 하는 레이어__()
def call(self, x):
x = self.__정의하고자 하는 레이어__(x)
x = self.__정의하고자 하는 레이어__(x)
x = self.__정의하고자 하는 레이어__(x)
return x
model = CustomModel()
model.fit(x,y, epochs=10, batch_size=32)
이 여러 방식이 있는게 왜 있는지 이해가 안될 수 있습니다. 하지만 입맛에 맞게 잘 코드를 구축할 때가 있습니다. 그런 상황에 유용?하게 사용하라는 것 같네요!