使用Keras将二进制模式更改为分类模式时出现“获取值错误”

2024-05-20 02:43:18 发布

您现在位置:Python中文网/ 问答频道 /正文

train_image_gen = image_gen.flow_from_directory('/Users/harshpanwar/Desktop/Folder/train',
                                               target_size=image_shape[:2],
                                               batch_size=batch_size,
                                               class_mode='categorical')
results = model.fit_generator(train_image_gen,epochs=5,
                              steps_per_epoch=150,
                              validation_data=test_image_gen,
                             validation_steps=12)

--------------------------------------------------------------------------- ValueError Traceback (most recent call last) in 2 steps_per_epoch=150, 3 validation_data=test_image_gen, ----> 4 validation_steps=12)

~/opt/anaconda3/lib/python3.7/site-packages/keras/legacy/interfaces.py in wrapper(*args, **kwargs) 89 warnings.warn('Update your ' + object_name + ' call to the ' + 90 'Keras 2 API: ' + signature, stacklevel=2) ---> 91 return func(*args, **kwargs) 92 wrapper._original_function = func 93 return wrapper

~/opt/anaconda3/lib/python3.7/site-packages/keras/engine/training.py in fit_generator(self, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, validation_freq, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch) 1730
use_multiprocessing=use_multiprocessing, 1731
shuffle=shuffle, -> 1732 initial_epoch=initial_epoch) 1733 1734 @interfaces.legacy_generator_methods_support

~/opt/anaconda3/lib/python3.7/site-packages/keras/engine/training_generator.py in fit_generator(model, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, validation_freq, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch) 218 sample_weight=sample_weight, 219 class_weight=class_weight, --> 220 reset_metrics=False) 221 222 outs = to_list(outs)

~/opt/anaconda3/lib/python3.7/site-packages/keras/engine/training.py in train_on_batch(self, x, y, sample_weight, class_weight, reset_metrics) 1506 x, y, 1507
sample_weight=sample_weight, -> 1508 class_weight=class_weight) 1509 if self._uses_dynamic_learning_phase(): 1510 ins = x + y + sample_weights + [1]

~/opt/anaconda3/lib/python3.7/site-packages/keras/engine/training.py in _standardize_user_data(self, x, y, sample_weight, class_weight, check_array_lengths, batch_size) 619 feed_output_shapes, 620 check_batch_axis=False, # Don't enforce the batch size. --> 621 exception_prefix='target') 622 623 # Generate sample-wise weight values given the sample_weight and

~/opt/anaconda3/lib/python3.7/site-packages/keras/engine/training_utils.py in standardize_input_data(data, names, shapes, check_batch_axis, exception_prefix) 143 ': expected ' + names[i] + ' to have shape ' + 144 str(shape) + ' but got array with shape ' + --> 145 str(data_shape)) 146 return data 147

ValueError: Error when checking target: expected activation_8 to have shape (1,) but got array with shape (3,)


Tags: sampleinimagedatasizebatchstepsgenerator