Целевые выборки, умноженные на 10 (входные массивы должны иметь то же количество выборок, что и целевые.) - PullRequest
0 голосов
/ 20 апреля 2019

Я новичок и пытаюсь создать простую нейронную сеть, однако, я сталкиваюсь с ошибкой при обучении модели и не могу понять, как именно.Кажется, как будто мои целевые образцы были умножены на 10?Вот почему машина не может соответствовать двум сетам.Любая помощь о том, как я могу изменить это?

Это то, что я использовал для классификации данных:

y_train = to_categorical(y_train,10)
y_test = to_categorical(y_test,10)
print(y_train.shape)
print(y_test.shape)

(y_train раньше был 60000, но теперь он изменился на 600000)

print(X_train.shape)
print(y_train.shape)
print(X_test.shape)
print(y_test.shape)

(60000, 784)
(600000, 10) 
(10000, 784)
(10000, 10)

Когда я пытался обучить модель:

model.fit(X_train, y_train, epochs=20, validation_data=(X_test, y_test))

Я получаю эту ошибку:

ValueError                                Traceback (most recent call last)
<ipython-input-47-2e160f97f014> in <module>()
----> 1 model.fit(X_train, y_train, epochs=20, validation_data=(X_test, y_test))

~/anaconda3_420/lib/python3.5/site-packages/keras/models.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, **kwargs)
    865                               class_weight=class_weight,
    866                               sample_weight=sample_weight,
--> 867                               initial_epoch=initial_epoch)
    868 
    869     def evaluate(self, x, y, batch_size=32, verbose=1,

~/anaconda3_420/lib/python3.5/site-packages/keras/engine/training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, **kwargs)
   1520             class_weight=class_weight,
   1521             check_batch_axis=False,
-> 1522             batch_size=batch_size)
   1523         # Prepare validation data.
   1524         do_validation = False

~/anaconda3_420/lib/python3.5/site-packages/keras/engine/training.py in _standardize_user_data(self, x, y, sample_weight, class_weight, check_batch_axis, batch_size)
   1388                           for (ref, sw, cw, mode)
   1389                           in zip(y, sample_weights, class_weights, self._feed_sample_weight_modes)]
-> 1390         _check_array_lengths(x, y, sample_weights)
   1391         _check_loss_and_target_compatibility(y,
   1392                                              self._feed_loss_fns,

~/anaconda3_420/lib/python3.5/site-packages/keras/engine/training.py in _check_array_lengths(inputs, targets, weights)
    239                          'the same number of samples as target arrays. '
    240                          'Found ' + str(list(set_x)[0]) + ' input samples '
--> 241                          'and ' + str(list(set_y)[0]) + ' target samples.')
    242     if len(set_w) > 1:
    243         raise ValueError('All sample_weight arrays should have '

ValueError: Input arrays should have the same number of samples as target arrays. Found 60000 input samples and 6000000 target samples.
...