что такое рабочий параметр в word2vec в НЛП - PullRequest
0 голосов
/ 21 ноября 2018

в коде ниже.Я не понял значение параметра рабочих.модель = Word2Vec (предложения, размер = 300000, окно = 2, min_count = 5, работники = 4)

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Как уже упоминалось, workers контролирует количество независимых потоков, выполняющих одновременное обучение.

В общем, вы никогда не захотите использовать больше работников, чем количество ядер ЦП.

Но, кроме того, реализация gensim Word2Vec сталкивается с более узким узким местом в потоке из-за таких проблем, как Python "Global Interpreter Lock" ('GIL') и некоторые из его операций ввода-вывода / корпуса.дизайнерские решения.

Таким образом, в системах с большим количеством ядер, таких как более 16, оптимальное значение workers для максимальной пропускной способности обычно меньше полного числа ядер - часто в диапазоне 3-12.(Точное число будет зависеть от других аспектов вашего корпуса и выбранных метапараметров, и на данный момент чаще всего обнаруживается методом проб и ошибок.)

Если ваш корпус уже находится в определенном текстовом формате,Последний выпуск Gensim, 3.6.0, предлагает новый режим ввода, который позволяет лучше масштабировать workers вплоть до подсчета ядер ЦП.См. этот раздел примечаний к выпуску о новом corpus_file параметре для получения подробной информации.

0 голосов
/ 21 ноября 2018

рабочих = использовать это множество рабочих потоков для обучения модели (= более быстрое обучение с многоядерными машинами).

Если в вашей системе 2 ядра и если вы задаете работников = 2, то данные будут обучатьсядвумя параллельными способами.

По умолчанию рабочий = 1, т.е. без распараллеливания

...