Closed RyanKor closed 3 years ago
Explanation :
아까 분명히 해봤던 시도인데, 그 때 에러가 해결이 안되서 계속 다른 방법을 시도했는데, 왜 지금은 되는지 모르겠다.
input 인자를 함수 매개변수로 직접넣어주면 안되는 것 같아서 동일한 시도를 했는데, 결국 해결되었다.
Jupyter Notebook이 다 좋은데 커널이 인식하는 속도가 너무 느린 것 같다.
이거 해결하는 것에만 거의 2시간 쓴 것 같다.. 후;
# GRADED FUNCTION: convolutional_model
def convolutional_model(input_shape):
"""
Implements the forward propagation for the model:
CONV2D -> RELU -> MAXPOOL -> CONV2D -> RELU -> MAXPOOL -> FLATTEN -> DENSE
Note that for simplicity and grading purposes, you'll hard-code some values
such as the stride and kernel (filter) sizes.
Normally, functions should take these values as function parameters.
Arguments:
input_img -- input dataset, of shape (input_shape)
Returns:
model -- TF Keras model (object containing the information for the entire training process)
"""
input_img = tf.keras.Input(shape=input_shape)
## CONV2D: 8 filters 4x4, stride of 1, padding 'SAME'
Z1 = tf.keras.layers.Conv2D(8, (4, 4), strides=(1, 1), padding="same")(input_img)
## RELU
A1 = tf.keras.layers.ReLU()(Z1) # answer code
## MAXPOOL: window 8x8, stride 8, padding 'SAME'
P1 = tf.keras.layers.MaxPool2D(pool_size=(8, 8),strides=(8,8), padding='same')(A1)
## CONV2D: 16 filters 2x2, stride 1, padding 'SAME'
Z2 = tf.keras.layers.Conv2D(16, (2, 2), strides=(1, 1), padding="same")(P1)
## RELU
A2 = tf.keras.layers.ReLU()(Z2) # answer code
## MAXPOOL: window 4x4, stride 4, padding 'SAME'
P2 = tf.keras.layers.MaxPool2D(pool_size=(4, 4),strides=(4,4), padding='same')(A2)
## FLATTEN
F = tf.keras.layers.Flatten()(P2)
## Dense layer
## 6 neurons in output layer. Hint: one of the arguments should be "activation='softmax'"
outputs = tf.keras.layers.Dense(units=6, activation='softmax')(F)
model = tf.keras.Model(inputs=input_img, outputs=outputs)
return model
Error 내용
에러 설명
아마 해당 에러는 Conv2D 함수에 직접적으로 Relu 함수를 넣어 실행한 것이 에러를 초래한 것으로 보인다.
별도로 빼서 넣는 방법이 떠오르지 않아서 일단 이렇게 진행했는데, 해당 에러를 고칠 필요가 있다.