딥러닝은 애초에 행렬의 연산들이 모여있기 때문에,
- 내가 input을 하는 것의 shape가 뭔지?
- output의 shape가 뭔지?
이 두가지의 shape가 맞지 않는다면 계속 error가 난다.
cnn = keras.Sequential([
keras.layers.Dense(320, activation='relu'),
keras.layers.Dropout(.2),
keras.layers.Dense(160, activation='relu'),
keras.layers.Dense(80, activation='relu'),
keras.layers.Dropout(.2),
keras.layers.Dense(64, activation='relu'),
keras.layers.Dense(32,activation='relu'),
keras.layers.Dropout(.2),
keras.layers.Dense(8, activation='relu'),
keras.layers.Dense(2, activation='sigmoid')
])
다음과 같은 code가 있다고 할 때, 마지막 code에서 activation을 sigmoid로 한 부분을 살펴보면, shape가 2이다.
따라서 y_train도 shape 받는 부분이 2여야 한다... (이 부분이 계속 안맞아서 엄청 고생했다.) 다음부터 input의 shape와 output의 shape, y_train의 shape가 서로 상응하는지 잘 지켜보자
'AI' 카테고리의 다른 글
ML : Prior Posterior (0) | 2020.05.29 |
---|---|
ML : sklearn : PolynomialFeatures (0) | 2020.05.22 |
DL : tensorflow & Keras 2.0 study (0) | 2020.05.11 |
DL : tensorflow-gpu 에러 (0) | 2020.05.11 |
DL : 참고 github (0) | 2020.05.11 |
댓글