Такие платформы, как 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.

Начиная

  1. Создать учетную запись

Если у вас нет учетной записи 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: