Контроль версий для набора данных машинного обучения с большим количеством изображений? - PullRequest
5 голосов
/ 08 мая 2019

Мы начали использовать dvc с git для управления версиями проектов машинного обучения.Для удаленного хранения в dvc мы используем облачное хранилище Google.

Наш набор данных - это набор данных OCR с более чем 100000 небольших изображений, общий размер которых составляет около 200 МБ.Используя dvc для отслеживания этого набора данных, мы столкнулись со следующими проблемами:

  1. Потребовалось много времени для добавления набора данных для отслеживания.
  2. Очень медленная загрузка.
  3. Очень медленная загрузка.
  4. Обновление / удаление / добавление только одного изображения в набор данных приводит к тому, что dvc пересчитывает много вещей: хэши и т. Д.

С другой стороны, еслимы архивируем наш набор данных и отслеживаем его, поскольку один файл dvc работает достаточно быстро. Но проблема в том, что мы не можем отслеживать изменения для конкретного файла.

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

  1. Отслеживание для каждого отдельного файла.
  2. Передача только изменений, а не всего набора данных.
  3. Быстрая проверка / извлечение

Любое предложение для лучшего решения приемлемо.

1 Ответ

0 голосов
/ 08 мая 2019

С другой стороны, если мы заархивируем наш набор данных и отследим его как отдельный файл, dvc работает достаточно быстро. Но проблема в том, что мы не можем отслеживать изменения для конкретного файла.

zip-файл - это правильный подход, в сочетании с Git LFS для хранения многих ревизий этого zip-файла.

Вы можете дополнить этот архив текстовым файлом со списком всех изображений, каждое из которых будет содержать комментарий с описанием любых изменений, сделанных в нем: таким образом, поскольку файл TXT будет фиксироваться вместе с любой новой версией архива, вы все равно иметь возможность получить список и характер изменений, выполненных в элементах архива.

...