Керас Делится на обучающий, валидационный, тестовый мультиклассовый мультиидентификатор

#machine-learning #keras

#машинное обучение #keras

Вопрос:

У меня есть каталог, содержащий 3 подпапки (наши 3 класса). Каждая вложенная папка содержит несколько папок с уникальными идентификаторами. Каждая папка (идентификатор) содержит несколько изображений. Идентификатор может быть только одного класса типа, но может содержать обработанные изображения. Я хочу иметь 3 каталога (обучение, проверка, тестирование), и в каждом из этих 3 подразделов я хочу иметь 3 подкаталога каждого класса. НО идентификаторы должны быть разделены, чтобы идентификатор не был разделен на два (train val и test не должны содержать одинаковых идентификаторов).

Я хочу разделить количество изображений на каталоги train, val, test путем случайной выборки. ТАКИМ образом, около 60% изображений отправляются на тренировку, 20, 20 и 20 в тесте.

Первоначальная Структура:

Основная папка

  • Класс 1 (вложенные папки ID1, ID5, ID3,..) (каждая вложенная папка содержит несколько изображений)
  • Класс 2 (вложенные папки ID0, ID4, ID2,…)
  • Класс 3 (вложенные папки ID100, ID6, ID7,…) Что я хочу:

Основная папка:

  1. Поезд
  • Класс 1
  • Класс 2
  • Класс 3
  1. Вэл
  • Класс 1
  • Класс 2
  • Класс 3
  1. Тест
  • Класс 1
  • Класс 2
  • Класс 3

Я использую каталог image_dataset_from_directory из keras, однако я могу разделить папки только в том случае, если они являются классами, поэтому я не могу разделить их по идентификаторам