当我在一台拥有12个核心的机器上运行gensim的LdaMulticore
模型时,使用以下命令:
lda = LdaMulticore(corpus, num_topics=64, workers=10)
我收到了一个日志消息,内容是:
using serial LDA version on this node
几行后,我看到另一条登录消息,内容为:
training LDA model using 10 processes
当我运行top命令时,我看到已经生成了11个Python进程,但有9个正在休眠,也就是说只有一个工作进程是活动的。这台机器有24个核心,并且绝对没有超负荷。为什么LdaMulticore算法没有以并行模式运行?
corpus
加载缓慢。测试你的代码,看看需要多少时间。 - Jon