반응형
함수형 API에서는 직접 텐서들의 입출력을 다룹니다.
간단한 내용으로 함수형 API의 절차를 보겠습니다.
from keras.models import Sequential, Model
from keras import layers
from keras import Input
input_tensor = Input(shape=(64,))
x = layers.Dense(32, activation='relu')(input_tensor)
x = layers.Dense(32, activation='relu')(x)
output_tensor = layers.Dense(10, activation='softmax')(x)
model = Model(input_tensor, output_tensor)
model.summary()
Model: "model"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
input_1 (InputLayer) [(None, 64)] 0
_________________________________________________________________
dense (Dense) (None, 32) 2080
_________________________________________________________________
dense_1 (Dense) (None, 32) 1056
_________________________________________________________________
dense_2 (Dense) (None, 10) 330
=================================================================
Total params: 3,466
Trainable params: 3,466
Non-trainable params: 0
_________________________________________________________________
model.compile(optimizer='rmsprop', loss='categorical_crossentropy')
import numpy as np
x_train= np.random.random((1000, 64))
y_train= np.random.random((1000, 10))
model.fit(x_train, y_train, epochs=10, batch_size=128)
source = model.evaluate(x_train, y_train)
Epoch 1/10
8/8 [==============================] - 12s 1ms/step - loss: 12.0643
Epoch 2/10
8/8 [==============================] - 0s 993us/step - loss: 12.4466
Epoch 3/10
8/8 [==============================] - 0s 1ms/step - loss: 13.5754
Epoch 4/10
8/8 [==============================] - 0s 996us/step - loss: 15.4514
Epoch 5/10
8/8 [==============================] - 0s 1ms/step - loss: 17.7633
Epoch 6/10
8/8 [==============================] - 0s 2ms/step - loss: 20.5619
Epoch 7/10
8/8 [==============================] - 0s 855us/step - loss: 24.2587
Epoch 8/10
8/8 [==============================] - 0s 1ms/step - loss: 28.1953
Epoch 9/10
8/8 [==============================] - 0s 1ms/step - loss: 33.2819
Epoch 10/10
8/8 [==============================] - 0s 997us/step - loss: 37.9749
32/32 [==============================] - 0s 579us/step - loss: 42.0925
print(source)
42.09252166748047
반응형
'Lecture AI > 7장.Sequential 모델을 넘어서: 케라스의 함수형 API' 카테고리의 다른 글
3. 다중 입력 모델 / 다중 출력 모델 (1) | 2021.07.16 |
---|---|
1. Sequential 모델을 넘어서는 케라스의 함수형 API (0) | 2021.07.14 |