Заморозка и разморозка узлов

При использовании PolyAnalyst иногда возникает ситуация, когда вы получили определенные результаты, например, обученную модель, и хотите, чтобы изменения на скрипте не повлияли на данную модель. Обычно, когда вы выполняете узлы в цепи, начиная с первого узла, все узлы в данной цепи выполняются по порядку. Каждый раз, когда один узел начинает выполнять свою задачу, PolyAnalyst проверяет, имеет ли узел готовые результаты. Результат удаляется без возможности восстановления, и старые результаты заменяются новыми. В этом случае говорят, что новые результаты были записаны поверх старых.

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

Вы можете заморозить состояние узла и/или его исполнение. Это зависит от типа узла:

  • для узлов, производящих таблицу данных, можно заморозить и состояние, и исполнение узла;

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

При заморозке узла сохраняются только сами данные узла, а все остальное - индексы, подсветка и прочая служебная информация - не сохраняется. Если использовать какой-то узел текстового анализа после замороженного узла, то про все необходимые индексы, созданные ДО него, система не узнает, и будет создавать их снова, как будто их и не было. Во-первых, на повторную индексацию крупных таблиц потребуется дополнительное время. Во-вторых, это может привести к различным неожиданным результатам. Например, если замороженному узлу предшествует узел Извлечение ключевых слов, то при попытке использовать таксономию с функцией keyword сразу после замороженного узла, система выдаст сообщение об ошибке, так как результаты индексирования текста узла Извлечение ключевых слов не будут сохранены. После заморозки узла будет работать только базовый индекс и только с настройками по умолчанию. Если это не устраивает пользователя, он должен продублировать все узлы текстового анализа после замороженного узла.

Чтобы разморозить узел, нажмите правой кнопкой мыши на узел и снова выберите опцию Заморожен (галочка слева будет снята, статус узла меняется). PolyAnalyst обновит иконку узла на скрипте, удалив знак снежинки, что означает, что узел разморожен. В зависимости от того, обновили ли вы или повторно выполнили узлы, предшествующие тому узлу, который был разморожен, размороженный узел может немедленно удалить свои результаты, поскольку эти результаты больше не являются результатом предшествующих узлов. PolyAnalyst снова применит общее правило, согласно которому входные данные узла зависят от выходных данных предшествующего узла.