ValueError: Входные массивы должны иметь то же количество выборок, что и целевые массивы. в разделе обучения - PullRequest
0 голосов
/ 04 марта 2020

значение Ошибка

У меня 5722 изображения для обучения, и при обработке отображается ошибка: ValueError: Входные массивы должны иметь то же количество выборок, что и целевые массивы. Найдено 5722 входных и 312 целевых образцов.

  • 5722 изображений, относящихся к 12 классам в обучающем наборе.
  • 312 изображений, относящихся к 12 классам, в проверочном наборе.
start = datetime.datetime.now()
model = Sequential() 
model.add(Flatten(input_shape=train_data.shape[1:])) 
model.add(Dense(100, activation=keras.layers.LeakyReLU(alpha=0.3))) 
model.add(Dropout(0.5)) 
model.add(Dense(50, activation=keras.layers.LeakyReLU(alpha=0.3))) 
model.add(Dropout(0.3)) 
model.add(Dense(num_classes, activation='softmax'))
model.compile(loss='categorical_crossentropy',
   optimizer=optimizers.RMSprop(lr=1e-4),
   metrics=['acc'])
history = model.fit(train_data, train_labels, 
   epochs=7,
   batch_size=batch_size, 
   validation_data=(validation_data, validation_labels))
model.save_weights(top_model_weights_path)
(eval_loss, eval_accuracy) = model.evaluate( 
    validation_data, validation_labels, batch_size=batch_size,     verbose=1)

Значение Ошибка

Найдено 5722 входных выборок и 312 целевых выборок.

/usr/local/lib/python3.6/dist-packages/keras/activations.py:235: UserWarning: Do not pass a layer instance (such as LeakyReLU) as the activation argument of another layer. Instead, advanced activation layers should be used just like any other layer in a model.
      identifier=identifier.__class__.__name__))
    ---------------------------------------------------------------------------
    ValueError                                Traceback (most recent call last)
    <ipython-input-22-9fbdd01293a7> in <module>()
         13    epochs=7,
         14    batch_size=batch_size,
    ---> 15    validation_data=(validation_data, validation_labels))
         16 model.save_weights(top_model_weights_path)
         17 (eval_loss, eval_accuracy) = model.evaluate( 

    2 frames
    /usr/local/lib/python3.6/dist-packages/keras/engine/training_utils.py in check_array_length_consistency(inputs, targets, weights)
        242                          'the same number of samples as target arrays. '
        243                          'Found ' + str(list(set_x)[0]) + ' input samples '
    --> 244                          'and ' + str(list(set_y)[0]) + ' target samples.')
        245     if len(set_w) > 1:
        246         raise ValueError('All sample_weight arrays should have '

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


...