/intent_clf

Primary LanguageJupyter Notebook

Установка зависимостей

Для работы с зависимостями использую poetry

Достаточно выкачать проект, зайти в корень и выполнить

poetry install

Poetry установит все необходимые зависимости

На windows 8.1 были проблемы с установкой wordcloud и сборкой из исходников. Поэтому я использовал готовую сборку wordcloud отсюда https://www.lfd.uci.edu/~gohlke/pythonlibs/#_wordcloud

там ссылки на колеса генерируются динамически, поэтому приложить ссылку на само колесо не получается. Я использую версию wordcloud-1.8.1-cp39-cp39-win_amd64.whl

  • Нужно создать в корене проекта папку wheels
  • выкачать в нее wordcloud-1.8.1-cp39-cp39-win_amd64.whl poetry будет ожидать зависимость по пути: wordcloud = {path = "wheels/wordcloud-1.8.1-cp39-cp39-win_amd64.whl"}

Затем уже можно делать

poetry install

Получить данные перед началом работы

Данные находятся в remote хранилище dvc (gdrive)

достаточно выполнить команду

dvc pull

Стурктура проекта

Перед началом работы нужно установить 2 переменные окружения

PROJECT_PATH_ROOT=<путь к корню проекта> PROJECT_PATH_ROOT=F:\shad\projects\pet\rtk_mult_clf

SEED=<seed - необходим для воспроизводимости>

Для трекинга экспериментов используется hydra + w&b + git

  • rtk_mult_clf - содержит все необходимые сущности для работы
  • tasks - описаны основные задачи, которые мы хотим выполнить, используем как раз rtk_mult_clf Есть две основные задачи - тренировка и предсказания
  • scripts - скрипты для запуска задач
  • wandb - содержит информацию о экспериментах (логи, медиафайлы)
  • notebooks - содержит ноутбуки Проведено eda и написан общий отчет о проделанной работе
  • logs - содержит трекинг со стороны гидры, для сохранения файлов конфигурации использую гит
  • data - сюда подгружается данные при команде dvc pull
  • confgis - вся работа построена через конфиги Когда мы хотим провести эксперимент нам достаточно описать необходимые параметры в конфигах, возможно, добавить что-то в rtk_mult_clf

Дальше достаточно запустить скрипт run_experiment.cmd Так выглядит выполняемая команда т.е. нам нужно указать:

  • путь к папки конфигурации
  • конфигурация эксперимента

python tasks/train_sklearn_model.py --config-dir F:\shad\projects\pet\rtk_mult_clf\configs\sklearn experiment=bert_transformer ~model.multi_class

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

Дальше мы можем провести анализ ошибок с помощью W&B (проект открыт) https://wandb.ai/trav/rtk_intent_clf

Все модели так же затреканы их можно посмотреть в W&B https://wandb.ai/trav/rtk_intent_clf/artifacts/checkpoints/svc_ms_csinger_tfidf_labse_embeddings/v0