본문 바로가기

머신러닝공부

Functional API 사용시 혼동하는 경우 간단 정리

728x90
반응형

Functional API에서 동일한 의미를 갖지만, 1 Line으로 표현할 수 있는 코드를 2 Line으로 표현한 경우가 있다. 이런 경우 일반 함수를 호출하는 것으로 혼동할 수 있다.

input_ = Input(shape=(28, 28, 1))

### 일반 함수로 착각
x = Conv2D(32, 3, activation = 'relu')
x = x(input_)
### -> 동일 코드 x = Conv2D(32, 3, activation='relu')(input_)

x = Conv2D(64, 3, activation='relu')(x)
x = MaxPool2D(pool_size=(2,2))(x)
x = Dropout(0.25)(x)

x = Flatten()(x)

x = Dense(128, activation='relu')(x)
x = Dropout(0.5)(x)

### 일반 함수로 착각
output_ = Dense(10, activation='softmax')
output_ = output_(x)
### -> 동일 코드 output_ = Dense(10, activation='softmax')(x)

cnn = Model(inputs=input_, outputs=output_)
반응형