2016-06-21 6 views
2

Возможно ли распараллелить python CRFSuite (https://github.com/tpeng/python-crfsuite)? Я думаю, что CRF ++ поддерживает распараллеливание, поэтому я предполагаю, что для включения распараллеливания с CRFsuite также должны быть некоторые перехватчики.Возможна параллелизация с Python CRFsuite?

ответ

1

Нет, в настоящее время это невозможно; параллельное обучение не выполняется. Тем не менее, есть некоторая работа над этим в отладчике ошибок. Вы можете выполнить параллельную параллельную проверку (т. Е. Параллельно организовать несколько моделей).

+0

вы можете использовать модуль model_selection (GridSearch) для оптимизации гиперпарамов параллельно. Тем не менее, для практических данных о размерах (практически ничего не значимо) он становится сериализованным, поскольку размер модели становится большим, а травление/разбрасывание модели со связанными данными с работниками займет большую часть времени. Поэтому, если размер данных не очень мал (на самом деле крошечный) многопроцессорность будет существенно сериализована. – Kai

+0

Я использую это с данными conll-2002, которые вообще невелики; 14987 предложений для обучения, только с базовыми функциями. Когда я запускаю вершину, я вижу 8 процессов на основе python, поскольку у меня есть 8 ядер процессора с круговым движением, один за другим, в то время как остальные 7 спят ... никакой распараллеливания вообще. Если вы хотите добавить дополнительные функции, он будет еще медленнее. – Kai

+0

Kai: вы можете извлекать функции после запуска процесса, это правильная вещь для кросс-валидации в любом случае. В этом случае будут введены только входные предложения. –