Skip to content

LizardAPN/Ekanam_ml_template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Ekanam ML Template

Производственный шаблон репозитория для разработки машинного обучения, поддерживающий экспериментирование, отслеживание версий данных и моделей, а также легкий переход к продакшен-развертыванию.

🚀 Особенности

  • Версионирование данных и моделей с помощью DVC
  • Автоматизация workflows через Makefile
  • Современное управление зависимостями с помощью UV
  • Шаблонизация проектов с помощью Cookiecutter
  • Структурированная организация кода по функциональности
  • Логирование экспериментов и метрик
  • Конфигурационное управление через YAML-файлы
  • Готовность к продакшену с Docker и API-интерфейсом
  • Тестирование и линтинг для поддержания качества кода
  • Визуализация результатов и метрик

🍪 Создание нового проекта из шаблона

Cookiecutter позволяет создавать новые проекты из шаблона с автоматической подстановкой параметров.

Установка Cookiecutter

# Установка через pip
pip install cookiecutter

# Или установка через UV (рекомендуется)
uv pip install cookiecutter

Создание нового проекта из шаблона

Создайте новый проект из шаблона:

cookiecutter https://github.com/LizardAPN/ekanam_ml_template

Ответьте на вопросы о вашем проекте:

project_name [Мой ML проект]: Предсказание оттока клиентов
repo_name [предсказание_оттока_клиентов]: 
author_name [Ваше имя]: Команда Data Science
email [ваш.email@пример.com]: team@company.com
description [Шаблон проекта машинного обучения]: Предсказание оттока клиентов с использованием машинного обучения
python_version [3.9]: 3.10

Перейдите в созданную директорию:

cd предсказание_оттока_клиентов

Автоматическое создание репозитория в GitHub

После создания проекта из шаблона, вы можете автоматически создать репозиторий в GitHub с помощью нашего специального скрипта.

Как это работает

  1. После генерации проекта cookiecutter спросит вас, хотите ли вы создать репозиторий в GitHub
  2. Если вы ответите утвердительно, вам нужно будет предоставить GitHub токен для аутентификации
  3. Вы можете выбрать, должен ли репозиторий быть приватным или публичным
  4. Скрипт автоматически создаст репозиторий и загрузит в него весь код

Подготовка GitHub токена

  1. Перейдите в настройки GitHub
  2. Нажмите "Generate new token"
  3. Выберите права доступа repo (полный доступ к приватным репозиториям)
  4. Скопируйте токен и сохраните его в безопасном месте

Использование функции автоматического создания репозитория

После создания проекта из шаблона, просто следуйте инструкциям в терминале. Скрипт автоматически спросит вас:

  • Хотите ли вы создать репозиторий в GitHub
  • Ваш GitHub токен (ввод не будет отображаться для безопасности)
  • Должен ли репозиторий быть приватным

Если вы пропустили этот шаг или хотите выполнить его позже, вы можете вручную запустить скрипт:

python scripts/create_github_repo.py

Преимущества автоматического создания репозитория

  • Экономия времени: Репозиторий создается и инициализируется одной командой
  • Правильная настройка: Git репозиторий правильно инициализируется с первым коммитом
  • Безопасность: Токен используется только для создания репозитория и не сохраняется
  • Гибкость: Вы можете выбрать публичный или приватный репозиторий

Параметры Cookiecutter

Параметр Описание По умолчанию
project_name Название проекта "Мой ML проект"
repo_name Имя репозитория Автоматически генерируется
author_name Имя автора "Ваше имя"
email Email автора "ваш.email@пример.com"
description Описание проекта "Шаблон проекта машинного обучения"
python_version Версия Python "3.9"

Преимущества использования Cookiecutter

  • Стандартизация: Все проекты команды имеют одинаковую структуру
  • Экономия времени: Автоматическое создание проекта с готовой конфигурацией
  • Автоматическая подстановка: Имена проектов, авторов и другие параметры подставляются автоматически
  • Легкое обновление: Можно обновлять шаблон и применять изменения к новым проектам

Для разработчиков шаблона

Если вы вносите изменения в шаблон:

Протестируйте создание проекта:

cookiecutter . --overwrite-if-exists

Проверьте сгенерированный проект:

cd test_project
./scripts/setup_environment.sh
make test

About

Шаблон репозитория для разработки новых моделей. Создан специально для студентов иканама

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors