Получение "ValueError: Выход генератора должен быть кортежом` (x, y, sample_weight) `или` (x, y) `", в то время как - PullRequest
2 голосов
/ 26 октября 2019

Я пытаюсь обучить cnn изображениям, хранящимся в папке с именем «Здоровье».

train_data_dir = "Health"
train_datagen = ImageDataGenerator(rescale = 1./256,
                                   rotation_range = 360,
                                   width_shift_range=0.1,
                                   height_shift_range=0.1,
                                   zoom_range=10,
                                   horizontal_flip=True,
                                   vertical_flip=True,
                                   data_format ="channels_last",validation_split=0.2) 

train_generator = train_datagen.flow_from_directory(train_data_dir,
                                                    target_size =(img_width, img_height),
                                                    batch_size = batch_size,
                                                    class_mode = None,
                                                    subset='training') 

validation_generator = train_datagen.flow_from_directory(train_data_dir,
                                                        target_size =(img_width, img_height),
                                                        batch_size = batch_size,
                                                        class_mode =None,
                                                        subset='validation')
history = model.fit_generator(generator=train_generator,
                             steps_per_epoch=train_generator.samples//batch_size,
                             epochs=10,
                             validation_data=validation_generator,
                             validation_steps=validation_generator.samples//batch_size)

Я получаю следующую ошибку:

ValueError: Output of generator should be a tuple `(x, y, sample_weight)` or `(x, y)`. Found: [[[[0.         0.         0.        ] 

Что я делаю не так?

1 Ответ

2 голосов
/ 26 октября 2019

Ваш каталог Health организован так, как указано в документации?

directory : строка, путь к целевому каталогу. Он должен содержать один подкаталог на класс. Любые изображения PNG, JPG, BMP, PPM или TIF ​​внутри каждого дерева каталогов подкаталогов будут включены в генератор.

Почему вы передаете class_mode = None? None предназначен для режима вывода, то есть для прогнозирования, генератор не возвращает метки. Но вам нравится тренировать модель, верно?

Ссылка на документацию и пример:

https://keras.io/preprocessing/image/

https://gist.github.com/fchollet/0830affa1f7f19fd47b06d4cf89ed44d

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...