Документация может быть найдена здесь.
Перед локальным запуском необходимо:
- Установить зависимости, выполнив команду
pip install -r requirements.txt- Сгенерировать серверный код GRPC из proto файлов, выполнив скрипт
generate.sh:
./generate.shПроверить правильность окружения можно, выполнив pytest тесты. Для этого необходимо поставить тестовые зависимости:
pip install -r test_requirements.txtИ запустиь тесты:
python -m pytest ./testsДля локального запуска сервиса получения векторных представлений, выполните команду
python -m ap.inference.server --model={path_to_model}где path_to_model - путь к каталогу с обученной моделью bigARTM.
Для локального запуска сервиса обучения моделей запустите
python -m ap.train.server --config={path_to_config} --data={path_to_data}где path_to_config - путь к конфигу для обучения модели в формате yaml, path_to_data - путь к каталогу с данными.
Для запуска сервиса получения векторных представлений в docker-контейнере, выполните команду
docker-compose -f docker-compose.yml build && docker-compose -f docker-compose.yml upПуть к каталогу с обученной моделью должен быть задан в переменной окружения с названием MODEL_PATH.
Для запуска сервиса обучения моделей запустите
docker-compose -f docker-compose-train.yml build && docker-compose -f docker-compose-train.yml upПуть к каталогу для хранения обученных моделей должен быть задан в переменной окружения с названием MODELS_PATH, а путь к каталогу с данными должен быть задан в переменной окружения с названием DATA_PATH.
Для хранения данных и обученных моделей в сервере обучения предусмотрена особая структура файлов.
Обученные модели хранятся в каталоге, переданном в аргументе models. Каждая модель хранится в папке с названием, соответствующим времени запуска обучения, в формате YYYYMMDD_HHmmSS.
Данные для обучения хранятся внутри директории, переданной в аргументе data. Директория должна иметь следующую структуру:
data
├── BPE_models
│ ├── bpe_model_af_120k.model
│ ├── ...
│ └── bpe_model_zh_120k.model
├── dictionary_train_BPE_wiki_100_120k_11k.txt
├── rubrics_train_grnti.json
└── udk_codes.json
BPE_models- папка с обученными BPE моделями.- Модели должны называться в формате
bpe_model_{lang}_120k.model
- Модели должны называться в формате
dictionary_train_BPE_wiki_100_120k_11k.txt- словарь тематической моделиrubrics_train_grnti.json- файл с ГРНТИ рубриками документовudk_codes.json- файл с УДК рубриками документов
Для запуска сервиса в составе стандартной виртуальной машины подготовлены скрипты inference.sh и train.sh.
Скрипты рассчитаны на образ виртуальной машины с ОС Ubuntu и установленными Docker и Docker Compose.
Так же необходимо поставить Git и клонировать репозиторий с ПО:
git clone git@github.com:machine-intelligence-laboratory/text_categorization.gitИмя пользователя, под которым запускаются сервисы, должно быть antiplagiat.
Внутри домашней директории пользователя /home/antiplagiat для запуска сервиса получения векторных представлений должна быть создана папка /home/antiplagiat/models/{MODEL_NAME}. Название модели может меняться в зависимости от поставленной модели. Соответственным образом необходимо менять значение переменной MODEL_PATH в скрипте запуска после установки сервиса.
Внутри домашней директории пользователя /home/antiplagiat для запуска сервиса обучения должны быть папки data и models. В папку data необходимо распаковать архив с переданными изначальными данными для обучения модели:
tar -C /home/antiplagiat/data -xvzf data.tar.gz Так же в папку /home/antiplagiat/models/{CURRENT_DATE} можно положить изначальную модель, которая будет дообучаться новыми данными.