Skip to content

Commit 6513835

Browse files
committed
update from master
1 parent 9b915be commit 6513835

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+3810
-959
lines changed

topicnet/.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,3 @@
2323
*.pyc
2424

2525
bigartm*
26-
.DS_Store

topicnet/README-rus.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
## TopicNet
2+
[English version](README.md)
3+
4+
Библиотека ```topicnet``` создана для автоматизации и унификации практик тематического моделирования. Она помогает снять с пользователя заботу о рутинной составляющей моделирования, освободив время для творческого процесса подбора функционала отвечающего критериям задачи.
5+
На данный момент библиотека представлена тремя модулями:
6+
7+
8+
* ```cooking_machine``` - отвечает за логирование эксперимента по построению тематических моделей и связь между сущностями образующими эксперимент.
9+
10+
11+
* ```viewers``` - помогает визуализовать информацию о полученной тематической модели в доступном для экспериментатора формате.
12+
13+
14+
* ```tests``` - помогает проверить правильность установки библиотеки TopicNet и содержит примеры работы с кодом библиотеки.
15+
16+
---
17+
### Описание
18+
Важно отметить, что на каждом шаге эксперимента используется один и тот же кубик для дальнейшей настройки моделей.
19+
Если для разным тематических моделей после очередного этапа обучения применяются разные кубики, то эксперимент разделяется на два отдельных эксперимента, которые отличаются данным и последующими этапами обучения, иными словами последовательностями применения кубиков с соответствующими им параметрам.
20+
Объект эксперимента содержит всю необходимую информацию для воспроизведения данного эксперимента с нуля и изменяется в процессе добавления кубиков пользователя.
21+
При использовании кубиков также изменяется информация о моделях и их описание, создаются новые модели копии основной, которые соответствуют перебираемым внутри кубика параметрам.
22+
Описание моделей также позволяет построить их по описанию и создать скрипт их создания и обучения.
23+
Таким образом, ключевым объектом - является кубик, а точнее их последовательность, которые взаимодействуют с объектами модель и эксперимент.

topicnet/README.md

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1-
## TopicNet
2-
3-
Модуль ```topicnet``` предоставляет многосторонний подход к тематическому моделированию.
1+
## TopicNet
2+
[Русская версия](README-rus.md)
3+
4+
```topicnet``` library was created to assist in the task of building topic models. It aims to automate away many routine tasks related to topic model training, allowing a user to focus on the task at hand. Also, it provides additional tools to construct advanced topic models.
5+
The library consists of three modules:
6+
7+
8+
* ```cooking_machine``` - a module providing tools to design a topic model construction pipeline, or experiment with regularizers fitting
9+
10+
11+
* ```viewers``` - provides information about the topic model in an accessible format.
12+
13+
14+
* ```tests``` - provides a user with means to test library functionality and contains examples of intended library usage.
15+
16+
---
17+
### Project description
18+
In TopicNet framework, advanced topic models are build using Experiment class.
19+
An experiment consists of stages (that we call "cubes") which perform actions over the "models" which are objects of the Experiment. The experiment instance of Experiment class contains all the information about the experiment process and automatically updates its log when a cube is applied to the last level models.
20+
It is worth noting that the experiment is linear, meaning it does not support multiple different cubes at the same stage of the experiment. If that need arises one is recommended to create a new experiment with a new cube on the last level.
21+
The experiment instance of Experiment class contains all the information about the *experiment process* and automatically updates its log when the cube is applied to the last level models.
22+
Summarizing: the key entity Experiment is a sequence of cubes that produce models on each stage of the *experiment process*
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Cooking Machine
2+
[English version](README.md)
3+
4+
### Общее описание
5+
Эксперимент состоит из моделей и кубиков, которые добавляют в эти модели новые регуляризаторы и осущеcтвляют подбор различных параметров тематичеcких моделей на каждом этапе обучения.
6+
7+
8+
#### Кубик
9+
Кубик -- это сущность, задающая некоторое преобразование над моделями ("инКУБатор"). Обычно это преобразование параметрическое, и эти параметры перебираются по сетке; на выходе кубика -- семейство новых моделей (копии основной), которые соответствуют перебираемым внутри кубика параметрам.
10+
11+
**Вход:** модель или модели, регуляризатор или регуляризаторы, параметры перебора (сетка), число итераций или метод выбора числа итераций, внешние метрики (которых нет в BigArtm, опционально).
12+
**Выход:** модели (их число совпадает с числом параметров в сетке или наборов параметров, если сетка многомерная).
13+
**Тело:** внутри себя содержит функциональные действия с `artm` моделью, вносить изменения в объект модели, создает модели, вносит изменения в объект эксперимента.
14+
15+
#### Модель
16+
Смысловая единица хранения модели и ее описания:
17+
18+
* хранит своё описание;
19+
* выводит описание в human-readable виде;
20+
* преобразует описание модели в скрипт создания этой модели;
21+
* не дает с собой ничего сделать, кроме как подгрузить и сделать свою копию (immutable), сама artm-модель хранится как атрибут этой модели, для ее изменения, ее нужно достать и самой модели, а после изменения заложить обратно;
22+
* хранит id эксперимента;
23+
* хранит id модели-родителя (если это пустая модель, то None);
24+
* хранит имена тем;
25+
* хранит список регуляризаторов с коэффициентами и другими параметрами;
26+
* хранит список модальностей с весами;
27+
* хранит пути к данным и сохраненной модели и информации о ней;
28+
* хранит значения метрик;
29+
* хранит результаты обучения.
30+
31+
#### Эксперимент
32+
Объект Experiment содержит всю необходимую информацию для воспроизведения данного эксперимента с нуля и изменяется в процессе добавления кубиков пользователя.
33+
34+
* хранит своё описание;
35+
* выводит описание в human-readable виде;
36+
* хранит описание стратегии обучения;
37+
* проверяет свою целостность при считывании;
38+
* делает свою копию, копию части себя.

topicnet/cooking_machine/README.md

Lines changed: 31 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,32 @@
11
# Cooking Machine
2-
3-
### Общее описание
4-
Эксперимент состоит из моделей и кубиков, которые добавляют в эти модели новые регуляризаторы и осущетвляют подбор различных параметров тематичеких моделей на каждом этапе обучения.
5-
6-
Важно отметить, что на каждом шаге эксперимента используется один и тот же кубик для дальнейшей настройки моделей.
7-
Если для разным тематических моделей после очередного этапа обучения применяются разные кубики, то эксперимент разделяется на два отдельных эксперимента, которые отличаются данным и последующими этапами обучения, иными словами последовательностями применения кубиков с соответствующими им параметрам.
8-
Объект эксперимента содержит всю необходимую информацию для воспроизведения данного эксперимента с нуля и изменяется в процессе добавления кубиков пользователя.
9-
При использовании кубиков также изменяется информация о моделях и их описание, создаются новые модели копии основной, которые соответствуют перебираемым внутри кубика параметрам.
10-
Описание моделей также позволяет построить их по описанию и создать скрипт их создания и обучения.
11-
Таким образом, ключевым объектом - является кубик, а точнее их последовательность, которые взаимодействуют с объектами модель и эксперимент.
12-
13-
#### Кубик
14-
Смысловая единица обучения модели, которая вводит регуляризатор/регуляризаторы и перебирает его/их коэффициенты по сетке.
15-
Внутри себя кубик вносит изменения в объекты модель (он еще и создает новые модели) и в объект эксперимент.
16-
17-
**Вход:** модель или модели, регуляризатор или регуляризаторы, параметры перебора (сетка), число итераций или метод выбора числа итераций, внешние метрики (которых нет в BigArtm, опционально).
18-
**Выход:** модели (их число совпадает с числом параметров в сетке или наборов параметров, если сетка многомерная).
19-
**Тело:** внутри себя содержит функциональные действия с `artm` моделью, вносить изменения в объект модели, создает модели, вносит изменения в объект эксперимента.
20-
21-
#### Модель
22-
Смысловая единица хранения модели и ее описания:
23-
24-
* хранит своё описание;
25-
* выводит описание в human-readable виде;
26-
* преобразует описание модели в скрипт создания этой модели;
27-
* не дает с собой ничего сделать, кроме как подгрузить и сделать свою копию (immutable), сама artm-модель хранится как атрибут этой модели, для ее изменения, ее нужно достать и самой модели, а после изменения заложить обратно;
28-
* хранит id эксперимента;
29-
* хранит id модели-родителя (если это пустая модель, то None);
30-
* хранит имена тем;
31-
* хранит список регуляризаторов с коэффициентами и другими параметрами;
32-
* хранит список модальностей с весами;
33-
* хранит пути к данным и сохраненной модели и информации о ней;
34-
* хранит значения метрик;
35-
* хранит результаты обучения.
36-
37-
#### Эксперимент
38-
Смысловая единица описания эксперимента с обучением тематических моделей:
39-
40-
* хранит своё описание;
41-
* выводит описание в human-readable виде;
42-
* хранит описание стратегии обучения;
43-
* проверяет свою целостность при считывании;
44-
* делает свою копию, копию части себя.
2+
[Русская версия](README-rus.md)
3+
4+
#### Cube
5+
A unit of model training pipeline. This unit encapsulates an action over one or many model hyperparameters. This action and hyperparameter space are stored as cube properties and then saved in Experiment.
6+
7+
**Input:** model or list of models, regularizer or list of them, hyperparameter search sapce(grid), iterations number or a function defining it, custom metrics.
8+
**Output:** models.
9+
**Body:** performs actions over `artm` model. Can modify, create new models and alter their Experiment.
10+
11+
#### Model
12+
A class containing Topic Model and its description:
13+
14+
* stores topic model description;
15+
* outputs the description in human-readable form;
16+
* the model can only load and copy itself, the artm-model is an attribute and in order to change it is should be extracted, modified and put back;
17+
* stores experiment id;
18+
* stores parent model id;
19+
* stores model topic names;
20+
* stores regularizers list with their parameters;
21+
* stores modality weights;
22+
* stores save path for data, model and model information;
23+
* stores training metric values.
24+
25+
#### Experiment
26+
Class providing experiment infrastructure:
27+
28+
* keeps the description of all actions on the models;
29+
* provides human-readable log of experiment;
30+
* keeps the model training sequence in memory;
31+
* automaticly runs integrity check;
32+
* able to copy itself.

0 commit comments

Comments
 (0)