Ошибка при проверке цели: ожидается, что плотность_10 будет иметь форму (1,), но получен массив с формой (10,) - PullRequest
0 голосов
/ 30 апреля 2019

Может кто-нибудь, пожалуйста, проведите меня через это, поэтому я получаю эту ошибку.Заранее спасибо

Это сработало, когда я изменил метки на 1 или 0. Но сейчас я пытаюсь получить более конкретные результаты, поэтому я изменил метки в соответствии с категорией, то есть 0,1 .... 9.Всего 10 категорий.

КОД

    `print (train.shape)             #when read the .csv file
    print (test.shape)              #when read the .csv file

    y_train = train[:,0]            #assign train labels
    y_test = test[:,0]              #assign test labels

    #reshaping
    X_train = train[:, 1:].reshape(train.shape[0], 13, 3, 1)
    X_test = test[:, 1:].reshape(test.shape[0], 13, 13, 1)
    input_shape = (13, 3, 1)        

    # convert class vectors to binary class matrices
    y_train = keras.utils.to_categorical(y_train, 10)
    y_test = keras.utils.to_categorical(y_test, 10)
    print (X_train.shape)
    print (y_train.shape)
    print (X_test.shape)
    print (y_test.shape)

    model = Sequential()
    model.add(Conv2D(32, kernel_size=(2, 2), activation='relu', 
    input_shape=input_shape))
    model.add(Flatten())
    model.add(Dense(1000, activation='relu'))
    model.add(Dropout(0.5))
    model.add(Dense(10, activation='softmax'))

    model.fit(X_train, y_train,
      batch_size=128,
      epochs=10,
      verbose=1,
      validation_data=(X_test, y_test))          #error in this line`

ВЫХОД

(82332, 40)                  #when read the .csv file
(175341, 40)                 #when read the .csv file

#reshaped

(82332, 13, 3, 1)
(82332, 10)
(175341, 13, 3, 1)
(175341, 10)

ValueError                  Traceback (most recent call last)
<ipython-input-20-526f89d6ead2> in <module>()
      6           epochs=10,
      7           verbose=1,
----> 8           validation_data=(X_test, y_test))
ValueError: Error when checking target: expected dense_2 to have shape 
(1,) but got array with shape (10,)

1 Ответ

0 голосов
/ 30 апреля 2019

Возможно, вам потребуется предоставить больше информации?Как вы компилируете модель?

Я не получил ошибку, используя ваш код в качестве базы для простого теста.

from tensorflow.python.keras import Sequential
from tensorflow.python.keras.layers import Conv2D, Flatten, Dense, Dropout
import numpy as np


X_train = np.zeros(shape=(100, 13, 3, 1))
y_train = np.zeros(shape=(100, 10))
X_test = np.zeros(shape=(100, 13, 3, 1))
y_test = np.zeros(shape=(100, 10))

# convert class vectors to binary class matrices
print(X_train.shape)
print(y_train.shape)
print(X_test.shape)
print(y_test.shape)

input_shape = (13, 3, 1)

model = Sequential()
model.add(Conv2D(32, kernel_size=(2, 2), activation='relu',
                 input_shape=input_shape))
model.add(Flatten())
model.add(Dense(1000, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(10, activation='softmax'))

model.compile("Adam", loss="categorical_crossentropy")  # Added this line

model.fit(X_train, y_train,
          batch_size=128,
          epochs=10,
          verbose=1,
          validation_data=(X_test, y_test))

Train on 100 samples, validate on 100 samples
Epoch 1/10
100/100 [==============================] - 1s 5ms/sample - loss: 0.0000e+00 - val_loss: 0.0000e+00
Epoch 2/10
100/100 [==============================] - 0s 156us/sample - loss: 0.0000e+00 - val_loss: 0.0000e+00
Epoch 3/10
100/100 [==============================] - 0s 377us/sample - loss: 0.0000e+00 - val_loss: 0.0000e+00
Epoch 4/10
100/100 [==============================] - 0s 312us/sample - loss: 0.0000e+00 - val_loss: 0.0000e+00
Epoch 5/10
100/100 [==============================] - 0s 156us/sample - loss: 0.0000e+00 - val_loss: 0.0000e+00
Epoch 6/10
100/100 [==============================] - 0s 312us/sample - loss: 0.0000e+00 - val_loss: 0.0000e+00
Epoch 7/10
100/100 [==============================] - 0s 221us/sample - loss: 0.0000e+00 - val_loss: 0.0000e+00
Epoch 8/10
100/100 [==============================] - 0s 312us/sample - loss: 0.0000e+00 - val_loss: 0.0000e+00
Epoch 9/10
100/100 [==============================] - 0s 312us/sample - loss: 0.0000e+00 - val_loss: 0.0000e+00
Epoch 10/10
100/100 [==============================] - 0s 377us/sample - loss: 0.0000e+00 - val_loss: 0.0000e+00
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...