在Gensim word2vec中增加工作线程的影响



我正在尝试训练一个 gensim sgns 模型,在此过程中我测量了我计算为

loss = model.running_training_loss / model.corpus_count, 

但是,我注意到,如果我更改工作线程,我会得到不同的损失,保持所有其他参数相同。特别是如果我将工作线程保持在 1,我会得到非常高的损失,如果我增加线程,我会得到更少的损失。一个实例

thread  loss
worker=1  20.40519721
worker=10   2.714875407
worker=16  1.239528453

在 gensim 3.5.0 之前,报告的损失值可能不是很明智,只是重置每次调用 train(( 的计数,而不是每个内部纪元。本期即将推出一些修复程序:

https://github.com/RaRe-Technologies/gensim/pull/2135

你使用的是哪个版本的gensim,你的代码在做什么来收集损失数据?

最新更新