#python #tensorflow #image-processing #data-augmentation #image-augmentation
Вопрос:
У меня очень мало данных об изображениях для моего эксперимента. Это всего лишь 40 изображений для каждого класса в моем наборе данных. Поэтому я хочу дополнить все наборы обучающих, проверочных и тестовых заданий, используя приведенные ImageDataGenerator
ниже:
train_datagen = ImageDataGenerator(
horizontal_flip=True,
shear_range=0.2,
zoom_range=0.2,
rescale=1/255.,
)
val_datagen = ImageDataGenerator(
horizontal_flip=True,
shear_range=0.2,
zoom_range=0.2,
rescale=1/255.,
)
test_datagen = ImageDataGenerator(
horizontal_flip=True,
shear_range=0.2,
zoom_range=0.2,
rescale=1/255.,
)
Я использовал их с flow_from_directory
функцией, использую генераторы обучения и проверки в обучении модели, но данные проверки, похоже, не увеличены (количество изображений в наборе проверки, похоже, не изменилось по сравнению с исходным числом). Каким — то образом это происходит и в тестовом наборе. Я обнаружил это, когда оценивал модель с помощью sklearn’s classification_report
. Число, отображаемое в support
столбце результата, точно совпадает с количеством изображений в тестовом наборе до увеличения.
precision recall f1-score support
Blue Whale 1.00 1.00 1.00 4
Killer Whale 1.00 0.75 0.60 4
Shark 0.50 0.75 0.75 4
accuracy 0.90 12
macro avg 0.83 0.83 0.78 12
weighted avg 0.83 0.83 0.78 12
Как использовать генератор тензорного потока для увеличения наборов проверок и тестов?
Комментарии:
1. Расширение тестирования и проверки на самом деле не имеет смысла. Если вы неправильно классифицируете дополненные данные, как вы можете быть уверены, что это не из-за некачественного увеличения?
2. Так должен ли я просто вручную дополнить наборы тестов и проверок?
3. У Джульена есть правильная точка зрения, но я видел несколько подходов, в которых используется расширение набора тестов и проверок. Они делают это, увеличивая тестирование и проверку, а затем получают средние результаты от увеличения на изображение.