keras 오류 Error when checking target: expected dense1 to have shape (5,) but got array with shape (1,)

4562 단어 오보
ValueError: Error when checking target: expected dense_1 to have shape(5,) but got array with shape(1,) 설명: 5가지 분류 원인: One-hot 인코딩의 원인 해결 방법: 관련 코드 추가
from keras.utils import np_utils

train_label3 = np.load('./label.npy')
test_label3 = np.load('./test_label.npy')

nb_classes3 = 5
train_label3 = np_utils.to_categorical(train_label3, nb_classes3)
test_label3 = np_utils.to_categorical(test_label3, nb_classes3)

또한 다음을 추가하는 것이 좋습니다.
train_data3 = train_data3.astype('float32') #      
test_data3 = test_data3.astype('float32')
train_data3 /= 255
test_data3 /= 255

전체 코드:
from keras.utils import np_utils

train_label3 = np.load('./label.npy')
test_label3 = np.load('./test_label.npy')

nb_classes3 = 5
train_label3 = np_utils.to_categorical(train_label3, nb_classes3)
test_label3 = np_utils.to_categorical(test_label3, nb_classes3)
train_data3 = train_data3.astype('float32') #      
test_data3 = test_data3.astype('float32')
train_data3 /= 255
test_data3 /= 255

다른 솔루션:
 loss='categorical_crossentropy'
  loss='sparse_categorical_crossentropy'

categorical_crossentropy와sparsecategorical_crossentropy의 차이점이 원-hot 인코딩이면categoricalcrossentropy one-hot 인코딩: [0,0,1],[1,0,0],[0,1,0] 만약 당신의tagets가 디지털 인코딩이라면sparsecategorical_crossentropy 디지털 인코딩: 2, 0, 1

좋은 웹페이지 즐겨찾기