#python #image-processing #keras #deep-learning
#python #обработка изображений #keras #глубокое обучение
Вопрос:
Я занимаюсь классификацией изображений и пытаюсь повысить свою точность, для этой цели я пытаюсь сгенерировать изображение, но у меня возникла ошибка в пути к файлу, пожалуйста, помогите мне, как это сделать.
вот мой код :
train_datagen = ImageDataGenerator(
rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True)
test_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(
'C:\Users\NanduCn\jupter1\train-scene classification',
target_size=(64, 64),
batch_size=32,
class_mode='categorical')
validation_generator = test_datagen.flow_from_directory(
'C:\Users\NanduCn\jupter1\train-scene classification',
target_size=(64, 64),
batch_size=32,
class_mode='categorical')
model.fit_generator(
train_generator,
steps_per_epoch=2000,
epochs=50,
validation_data=validation_generator,
validation_steps=800)
У меня есть 6 классов изображений, но я получил 1 класс при генерации изображений, вот мои файлы, подобные этому train-scene classification is folder in train is images file and train.csv, and test.csv
.
Found 24335 images belonging to 1 classes.
Found 24335 images belonging to 1 classes.
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-57-faf37afc0119> in <module>()
24 epochs=50,
25 validation_data=0.25,
---> 26 validation_steps=800)
~Anaconda3libsite-packageskeraslegacyinterfaces.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
~Anaconda3libsite-packageskerasenginetraining.py in fit_generator(self, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)
1416 use_multiprocessing=use_multiprocessing,
1417 shuffle=shuffle,
-> 1418 initial_epoch=initial_epoch)
1419
1420 @interfaces.legacy_generator_methods_support
~Anaconda3libsite-packageskerasenginetraining_generator.py in fit_generator(model, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)
131 else:
132 # Prepare data for validation
--> 133 if len(validation_data) == 2:
134 val_x, val_y = validation_data
135 val_sample_weight = None
TypeError: object of type 'float' has no len()
Комментарии:
1. возможно
validation_data=[0.25]?
2. его проверка на наличие данных
3.
taras
подразумевалось, чтоvalidation_data
должен быть список , а не одно значение. Вы обновили код, но не вывод ошибки.4. привет, meowgoesthedog У меня есть 6 классов изображений, но он показывает 1 класс, не могли бы вы помочь мне, как сгенерировать изображение.
Ответ №1:
Как я могу видеть из предоставленной вами трассировки стека, validation_data=0.25
.
Поскольку validation_data
это не объект, подобный списку, у него нет __len__
метода, следовательно, len(validation_data)
генерируется ошибка.
Это не «какая-то ошибка пути к файлу», скорее вам нужно убедиться, что validation_data
это действительно то, что вы думаете (какая-то пара данных-целевое значение). Пожалуйста, проверьте это.