DVC — отличный инструмент; Это позволяет вам отслеживать и поделиться своими данными, моделями и экспериментами. Он также поддерживает трубопроводы, чтобы версию контролировать шаги в типичном рабочем процессе ML. Чтобы поделиться своими данными и моделями, вам нужно будет настроить дистанционного управления DVC (например, S3, GCloud, GDRive и т. Д.), Но это может быть хлопоткой и пройти огромное количество времени.
В этом посте я покажу вам, что эта конфигурация не должна быть так сложной; Это должно быть гладким и легко. Чтобы решить эту проблему, мы создали Dagshu для хранения, DVC Пульт дистанционного управления, который Super легко настроить, никаких кредитных карт, не нужно предоставлять сложные разрешения, нет настроек облаков. Всего пять команд, и вы готовы пойти!
Для начала вам нужно будет иметь проект на dagshub. Есть два способа сделать это, либо Создать один с нуля или Подключите существующий проект с любой другой платформы (мы поддерживаем Github, Gitlab и Bitbucket).
Если вам нужно, у нас есть руководство О том, как начать новый проект на нашей платформе.
Чтобы продолжить с этим руководством, вам нужно Установите DVC первый.
После установки DVC в A Git Project инициализируйте его бегом
dvc init
Эта команда создаст .dvc/.gitignore.
, .dvc/config
, .dvc/plots
и .dvcignore.
. Эти записи могут быть совершены с
git commit -m "Initialize DVC"
С целью этого учебника я создал новый проект со следующей структурой
data ├── processed │ ├── test_text.txt │ └── train_text.txt └── raw └── test_full.txt
Чтобы начать отслеживать наши данные, файл или каталог, мы используем DVC Добавить
dvc add data
Вот где DVC делает свою магию. Он хранит метаданные о записи, добавленной в .dvc
файл; Это небольшой текстовый файл, содержащий информацию о том, как получить доступ к исходной записи, но не самой оригинальной записи. Эта команда также добавляет добавленную запись в .gitignore
файл, так что мы не будем принимать это случайно
В нашем случае DVC создал файл под названием data.dvc
, что будет выглядеть так
outs: - md5: 61b3e1a6439d6770be4d210b758f6cbd.dir size: 0 nfiles: 3 path: data
Это файл, который будет верситься для Git
После этого шага мы готовы совершить .dvc.
Файл, как мы сделаем с любым исходным кодом.
git add data.dvc .gitignore git commit -m "Add data"
Хранение данных удаленно
Превосходно! Сейчас мы отслеживаем версии наших данных, и теперь мы должны выяснить, где хранить саму данные.
Как я уже упоминал ранее, я покажу вам, как легко настроить DVC Remote. После пяти простых команд вы будете нажать данные и модели вместе с вашим кодом. Для легкого сравнения я также покажу вам традиционный способ настроить пульты, чтобы вы могли легко понять время, сохраненное с помощью хранилища Dagshub.
Как это сделать без степени DevOps
В Dagshub мы автоматически создаем DVC Remote с каждым проектом на платформе, чтобы подтолкнуть ваши данные и модели, как вы получаете дистанционное управление Git, чтобы нажать свой код. Вот где простота начинается показ! Чтобы протолкнуть или тянуть данные из этого URL, мы будем использовать наши существующие учетные данные Dagshub (через базовую аутентификацию HTTPS). Значит, нам не нужно настроить любой IAM, предоставить токенам доступа для доступа к вашему ведрю или что-либо еще, связанное с облачным провайдером.
Общественные репозитории будут общедоступными данными, такие же, как код. Если вы хотите поделиться или получать данные из коллаборатора, добавьте их в качестве проекта Collaborator. Если ваш репозиторий является частным только сопровождающим сопровождающим, сможет потянуть или нажать на него данные.
Давайте приступим наши руки!
- Нам нужно добавить dagshub как наш DVC удаленный
dvc remote add origin --local https://dagshub.com// .dvc
- Далее нам нужно сказать DVC, как спросить наших учетных данных
dvc remote modify origin --local auth basic dvc remote modify origin --local userdvc remote modify origin --local ask_password true
- И, наконец, нажмите данные на новый пульт
# Make sure you are using DVC 1.10 or greater for the next command dvc push -r origin
Вот и все! Всего 5 команд, и вы настроили свой DVC Remote без усилий, мы никогда не открываем веб-страницу облачного провайдера, обрабатывающую сложные IAM, предоставляли информацию о кредитной карте.
Если вам нужна дополнительная информация о хранилище Dagshub, вы можете прочитать наш Особенность ссылки
Как это сделать с дежоптом степени — Сравнение
Прежде чем мы копаем в этом разделе, Dagshub в настоящее время поддерживает AWS S3 и GCS В дополнение к Dagshu-хранилищу.
Ради этого сравнения, давайте посмотрим, как это сделать для Amazon S3.
- Прокат AWS как ваш облачный провайдер. Это связано с вашей кредитной картой (Если у вас уже есть аккаунт, вы можете пропустить этот шаг)
- Настройте ведро хранить ваши данные
- Установите . AWS CLI Tool.
- Войдите в AWS, используя инструмент CLI
- Если пользователь, который собирается использовать ведро, не является администратором, Создайте пользователь IAM
Назначьте его правильное разрешение NS использовать ведро
Многое, верно? Все эти шаги склонны к ошибкам даже для самых опытных пользователей, поэтому, если вы делаете это впервые, ожидайте пропустить что-то
Там не заканчивается. Если вы хотите интегрировать dagshub, вам нужно будет добавить ключ памяти в настройки проекта, чтобы мы сможем перечислить, показать и развернуть файлы на нашем просмотре файлов.
Вы найдете эту страницу настроек на https://dagshub.com/ //settings/storage/keys
Как только вы введете URL-адрес вашего ведра, вы получите всю инструкцию, чтобы добавить ключ хранения.
Успевать! Мы еще не закончили! Теперь вам нужно будет установить пакет S3 для DVC
pip install "dvc[s3]" #Or if you are using poetry poetry add dvc --extras "s3"
После этого нам нужно добавить ведро как наш пульт
dvc remote add s3-remote s3://your-bucket/storage
И, наконец, мы толкаем наши данные
dvc push -r origin
Узнать больше
Я надеюсь, что это помогло вам понять, как настроить дистанционный DVC (простой способ и жесткий путь). Для получения дополнительной информации о Dagshub, проверьте нашу Сайт , Документация или присоединиться к нашему Раздорное сообщество Отказ
Оригинал: «https://dev.to/martintali/dagshub-storage-configure-a-dvc-remote-without-a-devops-degree-ddi»