Я хочу знать, когда мы настроим DVC, могу ли я просто добавить весь свой каталог как таковой, dvc add dataset
и мой рабочий процесс будет заключаться в обновлении всей папки набора данных для следующей итерации. Содержимое этой папки должно быть кэшировано. И если я когда-нибудь захочу вернуться к предыдущей версии данных, я смогу сделать dvc checkout
? Или лучше добавлять каждый файл в DVC по отдельности?
— .dvc
- config
— dataset
- fileone.cvs
- train.py
- requirements.txt
До сих пор я отслеживал отдельные файлы, но было бы проще отслеживать всю папку, если у меня есть сотни файлов?
Да, весь каталог можно добавить сразу, и это рекомендуемый способ работы с каталогами в DVC. Не рекомендуется иметь сотни файлов .dvc
, а не то, для чего оптимизирован DVC.
Вот пример в документации. В значительной степени вы можете сделать:
dvc add dataset
Независимо от того, сколько файлов находится в каталоге dataset
, DVC создаст один файл dataset.dvc
, который будет обрабатывать весь каталог. Файлы будут кэшироваться (один раз для каждого уникального файла в каждом наборе данных).
Чтобы обновить его позже, вы можете запустить dvc add
или dvc commit
. Чтобы перейти к предыдущей версии, вы сможете использовать ту же механику, что описана здесь.
Вот краткое изложение некоторых технических деталей, которые я рекомендую прочитать, если вы хотите лучше понять последствия.
Если внутри каталога много файлов, прочтите также Оптимизация больших наборов данных.