Keras — вес выборки и генератор изображений.flow_from_directory

#keras #conv-neural-network

#keras #conv-нейронная сеть

Вопрос:

В настоящее время вес выборки доступен в ImageDataGenerator.flow(), но не в ImageDataGenerator.flow_from_directory().

Мне было интересно, нашел ли кто-нибудь обходной путь, чтобы использовать его с flow_from_directory?

У меня сотни тысяч изображений в 46 классах. Изображения поступают из двух разных источников. Тот, в котором я на 100% уверен в маркировке, а второй, в котором я меньше уверен.

Я ищу способ сообщить модели уделять меньше внимания источнику, в котором я меньше уверен. Я думаю, что хорошим началом было бы придать меньший вес образцам, поступающим из источника. Но я не могу понять, как установить sample_weight в flow_from_directory.

Заранее спасибо.

Ответ №1:

Вы можете использовать другой метод, предоставляемый keras.ImageDataGenerator с именем flow_from_dataframe, который позволяет вам определять в dataframe ваши источники данных и добавлять некоторые метаданные, такие как вес для каждого файла, благодаря параметру ключевого слова weight_col .

Вот функция инициализации :

 flow_from_dataframe(
    dataframe, directory=None, x_col='filename', y_col='class', weight_col=None,
    target_size=(256, 256), color_mode='rgb', classes=None,
    class_mode='categorical', batch_size=32, shuffle=True, seed=None,
    save_to_dir=None, save_prefix='', save_format='png', subset=None,
    interpolation='nearest', validate_filenames=True, **kwargs
)
  

И полная документация: https://www.tensorflow.org/api_docs/python/tf/keras/preprocessing/image/ImageDataGenerator#flow_from_dataframe

Комментарии:

1. Спасибо. Это именно то, что я искал. Я должен был прочитать документацию 🙂