Я хочу реализовать свой собственный пользовательский генератор данных для модели keras с несколькими входами, которую я построил, используя функциональный api от keras.
Я много читал о классе sequence и о том, как я могу расширить его функциональность различными способами.
Мой набор данных, который я сильно разбалансировал, содержит 3 класса.
Чего я хочу добиться, так это создать пользовательский генератор данных, который использует flowfromdataframe. Этот фрейм данных содержит пути к изображениям. Ограничивая количество путей к изображениям из каталога чрезмерно представленных классов, я могу успешно выполнить недостаточную выборку и тем самым сбалансировать набор данных.
Структура фрейма данных:
Однако оставшиеся изображения, которые я оставляю, все еще содержат богатую информацию, которую я хочу, чтобы моя модель изучила.
Можно ли использовать что-то вроде обратного вызова "onepochend", который вызывает функцию в моем imagedatagenerator, которая заменяет старые пути в фрейме данных и заменяет их случайно выбранными новыми путями?
Обратный вызов keras docs: https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/Callback
Документы класса генератора: https://www.tensorflow.org/api_docs/python/tf/keras/utils/Sequence
Набросал свою идею:
Или у tensorflow/keras есть что-то, что позволяет этого достичь?