Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python NLP中word2vec中的workers参数是什么_Python_Machine Learning_Nlp_Word2vec - Fatal编程技术网

Python NLP中word2vec中的workers参数是什么

Python NLP中word2vec中的workers参数是什么,python,machine-learning,nlp,word2vec,Python,Machine Learning,Nlp,Word2vec,在下面的代码中。 我不明白工人参数的含义。 model=Word2Vec(句子,大小=300000,窗口=2,最小计数=5,工人=4)工人=使用这么多工人线程来训练模型(=使用多核机器进行更快的训练) 如果您的系统有2个内核,并且指定workers=2,那么数据将以两种并行方式进行训练 默认情况下,worker=1,即没有并行化workers=使用这么多的worker线程来训练模型(=使用多核机器进行更快的训练) 如果您的系统有2个内核,并且指定workers=2,那么数据将以两种并行方式进行训

在下面的代码中。 我不明白工人参数的含义。
model=Word2Vec(句子,大小=300000,窗口=2,最小计数=5,工人=4)

工人=使用这么多工人线程来训练模型(=使用多核机器进行更快的训练)

如果您的系统有2个内核,并且指定workers=2,那么数据将以两种并行方式进行训练


默认情况下,worker=1,即没有并行化

workers=使用这么多的worker线程来训练模型(=使用多核机器进行更快的训练)

如果您的系统有2个内核,并且指定workers=2,那么数据将以两种并行方式进行训练


默认情况下,worker=1,即没有并行化

,正如其他人所提到的,
worker
控制同时进行训练的独立线程的数量

一般来说,您永远不希望使用超过CPU内核数量的工人

但是,由于诸如Python“全局解释器锁”('GIL')及其一些IO/语料库处理设计决策等问题,gensim
Word2Vec
实现面临着更多的线程间瓶颈

因此,对于具有大量内核的系统,例如超过16个内核的系统,最大吞吐量的最佳
workers
值通常小于完整的内核数–通常在3-12范围内。(准确的数字将取决于语料库处理的其他方面和所选的元参数,目前最常通过反复试验发现。)


如果您的语料库已经采用了特定的文本格式,那么最新的gensim版本3.6.0提供了一种新的输入模式,允许更好地扩展
工作人员
,直至CPU核数。有关详细信息,请参阅

正如其他人提到的,
工作者
控制同时进行培训的独立线程的数量

一般来说,您永远不希望使用超过CPU内核数量的工人

但是,由于诸如Python“全局解释器锁”('GIL')及其一些IO/语料库处理设计决策等问题,gensim
Word2Vec
实现面临着更多的线程间瓶颈

因此,对于具有大量内核的系统,例如超过16个内核的系统,最大吞吐量的最佳
workers
值通常小于完整的内核数–通常在3-12范围内。(准确的数字将取决于语料库处理的其他方面和所选的元参数,目前最常通过反复试验发现。)

如果您的语料库已经采用了特定的文本格式,那么最新的gensim版本3.6.0提供了一种新的输入模式,允许更好地扩展
工作人员
,直至CPU核数。有关详细信息,请参阅

您可以使用来确定案例中线程数的正确使用

from gensim.utils import effective_n_jobs

effective_n_jobs(1)
effective_n_jobs(-1)
effective_n_jobs(None)
effective_n_jobs(12)
effective_n_jobs(10)

# outputs
1
12
1
12
10
您可以使用来确定案例中线程数的正确使用

from gensim.utils import effective_n_jobs

effective_n_jobs(1)
effective_n_jobs(-1)
effective_n_jobs(None)
effective_n_jobs(12)
effective_n_jobs(10)

# outputs
1
12
1
12
10

workers
是模型训练的线程数,越高的线程数=训练越快。-我投票结束这个问题,因为这是RTFM的一个例子。
workers
是模型训练的线程数,越高的线程数=训练越快。-我投票结束这个问题,因为这是RTFM的一个例子。