Настройка удалённых хранилищ DVC

Введение в версионирование данных с DVC

Ravi Bhadauria

Machine Learning Engineer

Повторение

  • Инициализация репозитория DVC
    • Запустите dvc init
    • Репозиторий в рабочем пространстве (/path/to/my-project)
  • Настройка кэша DVC
    • Временная промежуточная область в каталоге .dvc
      • /path/to/my-project/.dvc/cache
    • Временные файлы через dvc add
  • Далее: DVC Remotes
    • Внешнее хранилище
    • Отслеживание и совместное использование файлов
Введение в версионирование данных с DVC

Зачем нужны DVC Remotes

  • DVC Remotes: место хранения данных
  • Аналог Git-ремоутов, но для кэшированных данных
  • Преимущества использования
    • Синхронизация больших файлов и каталогов
    • Централизованное или распределённое хранение данных
    • Экономия локального пространства

Схема потока данных из рабочего пространства DVC в кэш и удалённое хранилище

Введение в версионирование данных с DVC

Поддерживаемые типы хранилищ

Графическое представление поддерживаемых типов хранилищ в DVC

Введение в версионирование данных с DVC

Настройка удалённых хранилищ

  • Добавление ремоутов

    • dvc remote add <name> <location>
  • Бакет S3

$ dvc remote add s3_remote \
   s3://mys3bucket
  • Изменения в конфигурации DVC
 ['remote "s3_remote"']
     url = s3://mys3bucket
  • Бакет GCP
$ dvc remote add gcp_remote \
   gs://myGCPbucket
  • Azure
$ dvc remote add azure_remote \
   azure://mycontainer/path
Введение в версионирование данных с DVC

Локальные удалённые хранилища

  • Локальные ремоуты используются для быстрого прототипирования
  • Используйте системные каталоги или сетевые хранилища (NAS)
$ dvc remote add mylocalremote /tmp/dvc
  • Задайте ремоут по умолчанию с флагом -d
$ dvc remote add -d mylocalremote /tmp/dvc
  • Ремоут по умолчанию указывается в секции core файла .dvc/config
[core]
remote = mylocalremote
Введение в версионирование данных с DVC

Просмотр списка удалённых хранилищ

  • Просмотр списка ремоутов
$ dvc remote list
s3_remote    s3://mys3bucket
local_remote /tmp/dvcremote
  • Считывается из .dvc/config
 ['remote "s3_remote"']
     url = s3://mys3bucket
 ['remote "local_remote"']
     url = /tmp/dvcremote
Введение в версионирование данных с DVC

Изменение конфигурации удалённого хранилища

  • Настройка выполняется с помощью dvc remote modify
$ dvc remote modify s3_remote connect_timeout 300
  • Изменение файла конфигурации DVC
 ['remote "s3_remote"']
     url = s3://mys3bucket
     connect_timeout = 300
Введение в версионирование данных с DVC

Итоги

  • DVC Remotes используются для обмена данными и ML-моделями
  • Поддерживаются локальные и облачные хранилища
  • Добавление ремоутов: dvc remote add
    • Флаг -d задаёт ремоут по умолчанию
  • Просмотр ремоутов: dvc remote list
  • Изменение ремоутов: dvc remote modify
Введение в версионирование данных с DVC

Давайте потренируемся!

Введение в версионирование данных с DVC

Preparing Video For Download...