import tensorflow as tf
inp = tf.keras.layers.Input([128])
x = tf.keras.layers.Dense(128)(inp)
out = tf.keras.layers.Dense(3)(x)
model = tf.keras.Model(inp, out)
import tensorflow as tf
inp1 = tf.keras.layers.Input([128]) # 1번 인풋
x1 = tf.keras.layers.Dense(32)(inp1) # Dense를 통과시킨 output
inp2 = tf.keras.layers.Input([32]) # 2번 인풋
x2 = tf.keras.layers.Dense(128)(inp2) # Dense를 통과시킨 output
x = tf.keras.layers.Concatenate(axis=1)([x1, x2]) # 두 레이어의 출력을 통합
out = tf.keras.layers.Dense(3, activation="softmax")(x) # 결과 출력층
model = tf.keras.Model([inp1, inp2], out)
inp = tf.keras.layers.Input([128])
x = tf.keras.layers.Dense(128)(inp)
out1 = tf.keras.layers.Dense(3, activation="softmax")(x)
out2 = tf.keras.layers.Dense(1, activation="sigmoid")(x)
model = tf.keras.Model(inp, [out1,out2])
예시코드에서 실제 결과를 확인해보자.
ValueError: This model has not yet been built. Build the model first by calling
build()
or callingfit()
with some data, or specify aninput_shape
argument in the first layer(s) for automatic build.
- 만약 위와 같은 에러가 발생했다면 tf.keras.Model에 []를 넣어서 인풋과 아웃풋 레이어를 묶어준 경우이다. 풀어주자.
- model = tf.keras.Model([inp, out]) -> model = tf.keras.Model(inp, out)