Такие платформы, как GitHub, были инструментами для управления версиями программных проектов. Однако проекты машинного обучения сталкиваются с новыми проблемами при работе с GitHub: «Контроль версий моделей и данных».
GitHub имеет строгое ограничение на размер файла - 100 МБ. Это означает, что специалистам по данным и инженерам машинного обучения придется импровизировать, чтобы работать с GitHub, поскольку это ограничение препятствует контролю версий для больших наборов данных и весов моделей. Хорошая новость заключается в том, что DAGsHub решает эту задачу, обеспечивая эффективный контроль версий для проектов в области науки о данных!
Что такое DAGsHub?
DAGsHub - это веб-платформа для контроля версий данных и совместной работы для специалистов по данным и инженеров по машинному обучению. Он построен на git и DVC, инструменте командной строки с открытым исходным кодом, созданном для управления версиями данных и конвейера.
С DAGsHub вы можете использовать git для тех же целей, что и в обычном проекте кода. DAGsHub добавляет функции визуализации и автоматизации. Это возможно, потому что DVC добавляет команды для Data Science и Machine Learning поверх существующего git, но синтаксис похож на git, поэтому он не совсем незнакомый. Большинство команд git имеют прямой эквивалент в DVC. Не стесняйтесь проверить Часто задаваемые вопросы о DAGsHub для получения дополнительной информации.
Что такое DVC?
DVC - это инструмент управления версиями с открытым исходным кодом для проектов машинного обучения, предназначенный для обработки больших файлов, наборов данных, моделей машинного обучения и показателей. Он работает поверх Git, поэтому его можно легко интегрировать с вашими существующими репозиториями кода Git. Для получения дополнительной информации о DVC посетите страницу DAGsHub - Что такое DVC.
Управление рабочим процессом машинного обучения
Типичный проект машинного обучения состоит из опробования различных алгоритмов, моделей, библиотек и наборов данных. Существует потребность в управлении и отслеживании жизненного цикла выполненных проектов и экспериментов. DAGsHub позволяет пользователям отслеживать эксперименты, используя библиотеки ML Flow или просто работая с файлами metrics.csv и params.yml.
Начиная
- Создать учетную запись
Если у вас нет учетной записи DAGsHub, посетите https://dagshub.com/ и зарегистрируйтесь так же, как и на GitHub (вы можете зарегистрироваться, используя свою учетную запись GitHub, чтобы связать свой профиль DAGsHub с профилем GitHub. ).
2. Создание нового репозитория или зеркальное копирование репозитория GitHub
СОЗДАНИЕ НОВОГО РЕПО DAGSHUB: перейдите по этой ссылке, чтобы создать новое репо (вы должны войти в свою учетную запись).
MIRROR GITHUB REPO: если вы хотите работать с GitHub и отслеживать только свои модели и наборы данных на DAGsHub, вы можете просто создать зеркальное репо.
3. Клонировать репозиторий
Выполнить команду:
git clone https://dagshub.com/?DAGsHub-user-name›/hello-world.git
Посетите Ссылка для получения дополнительной информации.
4. Настройка DVC.
Выполнить команду:
pip install dvc
dvc init
Если вы столкнулись с ошибками при попытке выполнить, попробуйте еще раз с этим кодом:
pip install dvc - игнорировать установленный
dvc init
Теперь следующий шаг - настроить DAGsHub как удаленное хранилище. Это позволяет сохранять большие файлы в облаке через DAGsHub.
dvc удаленное добавление источника - локальное https://dagshub.com/?DAGsHub-user-name›/hello-world.dvc
dvc удаленное изменение источника - локальная аутентификация базовая
dvc удаленное изменение источника - локальный пользователь ‹DAGsHub-user-name›
dvc remote modify origin - local ask_password истина
5. Настройка и отслеживание файлов с помощью DVC (модели и данные)
GitHub будет отслеживать все файлы .dvc, если они не включены в файл .gitignore. Точно так же добавьте файлы, которые DAGsHub не хотите отслеживать, в .dvcignore.
Посетите Ссылка для получения дополнительной информации.
6. Создание и отслеживание экспериментов
Если вы хотите узнать, как начать работу с ML FLow для создания и отслеживания экспериментов, перейдите по этой ссылке.
ВХОД С ПОМОЩЬЮ DAGSHUB LOGGER: Модель будет отслеживаться с помощью metrics.csv и params.yml:
! pip install dagshub
импортный дагшаб
с dagshub.dagshub_logger () в качестве регистратора:
…
Определение модели
…
# регистрируем параметры модели logger.log_hyperparams (model_class = type (model_obj) .__ name__) logger.log_hyperparams ({‘model’: model_obj.get_params ()})
# Обучаем модель
# регистрируем выступления модели
logger.log_metrics ({‘roc_auc_score’: ‹roc_auc_score›})
Посетите Ссылка для получения дополнительной информации.
ЗАГРУЗКА С ПОТОКОМ ML
! pip install mlflow
import mlflow
import os
импортные запросы
import datetime
import time
REPO_NAME = «nnitiwe-dev \\ Hello-DAGsHub \\»
USER_NAME = ‹DAGsHub USERNAME›
os.environ [‘MLFLOW_TRACKING_USERNAME’] = USER_NAME
os.environ [‘MLFLOW_TRACKING_PASSWORD’] = ‹Токен или пароль доступа DAGsHub›
token = ‹Токен доступа DAGsHub›
mlflow.set_tracking_uri (‘ https://dagshub.com/ ‹ Репозиторий DAGsHub ›.mlflow’)
mlflow.keras.autolog ()
run_id = Нет
с mlflow.start_run (эксперимент_id = ‹ИД эксперимента›) в качестве запуска:
run_id = run.info.run_id
mlflow.log_params ({«Имя»: ‹Название эксперимента› , «Группа»: ‹Имя группы›, «Имя участника»: ‹» Имя участника ›,« Модель »:‹ Название модели ›,« Дополнительные значения модели »:‹ Значение модели ›})
…
Обучение модели
…
# Регистрация параметров потока ML
с mlflow.start_run (run_id = run_id) в качестве запуска:
mlflow.log_metric («‹PARAMETER›» , ‹Parameter_value›, step = i)
Для получения дополнительной информации о том, как регистрировать и отслеживать эксперименты в реальном времени с помощью ML Flow, ознакомьтесь с примерами Colab от DAGsHub: