간단한 케라스 딥러닝 모델을 구축하던 도중, 다음과 에러가 떠서 애를 먹었다.
Code:
InvalidArgumentError: Graph execution error:
Detected at node 'sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits'
Node: 'sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits'
logits and labels must have the same first dimension, got logits shape [2621440,2] and labels shape [128]
[[{{node sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits}}]] [Op:__inference_train_function_2374]
유달리 loss function으로 sparse_categorical_crossentropy를 사용할 때만 나타났는데, 이는 입력 데이터의 차원문제일 가능성이 크다.
나는 입력으로 2차원 배열을 reshape메서드를 이용해 1차원 배열로 변환하여 입력했는데, 그 과정에서 무언가 맞지 않았나보다.
2차원 배열을 수동으로 변환하는 것 보다는, keras.layer.flatten을 이용하여 차원을 변환하면 다음과 같은 에러를 피할 수 있다.
'ML & AI' 카테고리의 다른 글
1 x 1 convolution ? (0) | 2022.08.26 |
---|---|
텐서플로에서 데이터 적재와 전처리하기 (0) | 2022.08.24 |
NMF (비음수 행렬분해) (0) | 2022.07.13 |
Introduction to Machine Learning with Python(IMLP): Chap 2 지도학습 (0) | 2022.07.10 |
대표적인 데이터 스케일링 방법들. (0) | 2022.07.03 |