ap.train

Модуль для поддержания работы с данными

class ap.train.data_manager.ModelDataManager(data_dir: str, experiment_config: str)

Базовые классы: object

Класс для поддержания работы с данными

generate_background_batches()
generate_batches_balanced_by_rubric()

Возвращает artm.BatchVectorizer, построенный на сбалансированных батчах.

Генерирует батчи, в которых документы сбалансированны относительно рубрик ГРНТИ. Из всего тренировочного датасета сэмплируются документы так, чтобы в обучении на эпохе участвовало одинаковое количество документов каждой рубрики ГРНТИ. Количество документов каждой рубрики равно average_rubric_size - среднему размеру рубрики ГРНТИ.

Если в конфиге для обучения модели self._config присутствует путь до батчей, построенных по википедии self._path_batches_wiki, то батчи будут использованы для обучения модели. Иначе в обучении будут принимать участие только батчи, сбалансированные относительно рубрик ГРНТИ.

Возвращает artm.BatchVectorizer, построенный на этих батчах.

Результат

artm.BatchVectorizer, построенный на сбалансированных батчах.

Тип результата

batch_vectorizer (artm.BatchVectorizer)

get_modality_distribution() Dict[str, int]

Возвращает количество документов каждой модальности из self.class_ids для тренировочных данных.

Если в конфиге для обучения модели self.config передан путь до словаря, содержащего количество документов Wikipedia по модальностям, эти данные учитываются для оценки всего тренировочного датасета.

Результат

словарь, ключ это модальность, значение это количество документов с такой модальностью

Тип результата

modality_distribution_all (dict)

load_train_data()

Загружает тренировочные данные.

Создает два атрибута:
  • self.train_docs - словарь, где по doc_id содержиться документ в Vowpal Wabbit формате

  • self._docs_of_rubrics - словарь, где по рубрике хранится

    список всех doc_id с такой рубрикой из self.rubrics_train.

update_config(config: str)

Обновляет конфиг, хранящийся по пути self._config_path.

Параметры

config – конфиг обучаемой модели

update_ds_metrics()

Обновляет метрики о датасете.

write_new_docs(vw, docs: Dict[str, Dict[str, str]])

Сохраняет документы.

Параметры
  • vw (VowpalWabbitBPE) – объект класса VowpalWabbitBPE для сохранения VW файлов.

  • docs (dict) – документы

exception ap.train.data_manager.NoTranslationException

Базовые классы: Exception

async ap.train.metrics.handle(request)

REST обработчик

Параметры

request – REST запрос

Результат

REST ответ

ap.train.metrics.inc_metric(key, value)

Инкрементирует значение метрики

Параметры
  • key – ключ метрики

  • value – значение

ap.train.metrics.run_metrics_server(config: Dict)

Запускает сервер метрик

Параметры

config – конфиг эксперимента

ap.train.metrics.send_metric(key, action, value)

Устанавливает значение метрики через REST сервис

Параметры
  • key – ключ метрики

  • action – действие inc или set

  • value – значение

Returns:

ap.train.metrics.set_metric(key, value)

Устанавливает значение метрики

Параметры
  • key – Ключ метрики

  • value – Значение

class ap.train.server.TopicModelTrainServiceImpl(train_conf: str, data_dir: str)

Базовые классы: TopicModelTrainServiceServicer

AddDocumentsToModel(request: AddDocumentsToModelRequest, context) AddDocumentsToModelResponse

Добавляет документы в модель.

Параметры
  • request (AddDocumentsToModelRequest) – запрос с документами

  • context – не используется

Результат

Ответ

Тип результата

(AddDocumentsToModelResponse)

StartTrainTopicModel(request: StartTrainTopicModelRequest, context) StartTrainTopicModelResponse

Запускает обучение.

Параметры
  • request (StartTrainTopicModelRequest) – запрос с типом обучения.

  • context – не используется.

Результат

Статус запуска.

Тип результата

(StartTrainTopicModelResponse)

TrainTopicModelStatus(request: TrainTopicModelStatusRequest, context) TrainTopicModelStatusResponse

Возвращает статус текущей сессии обучения.

Параметры
  • request (TrainTopicModelStatusRequest) – пустой запрос

  • context – контекст, не используется

Returns

(TrainTopicModelStatusResponse): Статус

UpdateModelConfiguration(request: UpdateModelConfigurationRequest, context) UpdateModelConfigurationResponse

Обновляет конфигурацию обучения

Параметры
  • request – запрос, содержащий конфигурацию

  • context – не используется

Результат

Статус - всегда ОК или исключение

class ap.train.trainer.ModelTrainer(data_manager: ModelDataManager)

Базовые классы: object

Класс для тренировки тематической модели.

static generate_model_name() str

Генерирует новое имя для модели.

Результат

Новое имя для модели

property model_scores_value: dict

Возвращает значения всех скоров тематической модели на текущей эпохе

Результат

значения всех скоров тематической модели на текущей эпохе

Тип результата

scores_value (dict)

set_metrics()

Задает основную информацию о модели.

train_model(train_type: <google.protobuf.internal.enum_type_wrapper.EnumTypeWrapper object at 0x7fdc7409bf50>)

Функция обучения тематической модели.

Параметры

train_type (StartTrainTopicModelRequest.TrainType) – full for full train from scratch, update to get the latest model and train it.