Обработка больших обучающих данных в Tensorflow 2.0

Предположим, у вас есть данные для обучения модели с помощью Tensorflow 2.0 (в этой статье мы используем версию beta1). Проблема в том, что файл данных слишком велик, чтобы поместиться в памяти. Следовательно, вы не могли загрузить весь набор данных в память, разделить его на наборы данных для обучения/проверки/тестирования и не могли перетасовать весь набор данных для обучения между эпохами. Вообще говоря, для решения этой проблемы «слишком большой, чтобы уместиться в памяти» мы должны разделить большой файл данных на множество меньших файлов, при этом каждый файл содержит фрагмент необработанных данных, которые можно загружать/перетасовывать/сохранять по одному. В демонстрационных целях предположим, что исходный файл необработанных данных называется «data.csv», который представляет собой текстовый файл, где каждая строка представляет образец.

Решение1.

  1. Создание двух копий data.csv с именами «data_1.csv» и «data_2.csv» соответственно.
  2. При начале обучения определите

q = мультипроцесс.очередь()

деф рабочий():