首先,请确保已安装了快速的BLAS库,因为大多数耗时的工作都是在线性代数的低级例程中完成的。
在我的机器
gensim.models.ldamodel.LdaMulticore上
workers=4,培训期间可以用完所有20个CPU核心。设置更大的工人并不能加快培训速度。原因之一可能是
corpus迭代器太慢而无法有效使用LdaMulticore。
您可以尝试使用
ShardedCorpus序列化和替换
corpus,应该可以更快地读取/写入。此外,只需压缩大型
.mm文件以使其占用更少的空间(=较少的I
/ O)也可能会有所帮助。例如,
mm = gensim.corpora.MmCorpus(bz2.BZ2File('enwiki-latest-pages-articles_tfidf.mm.bz2'))lda = gensim.models.ldamulticore.LdaMulticore(corpus=mm, id2word=id2word, num_topics=100, workers=4)


