gensim LDA多核无法扩展到大量核心

iqjalb3h  于 4个月前  发布在  其他
关注(0)|答案(2)|浏览(63)

我相信这是由于主要过程无法同时跟上排队和合并结果。
如果我们将队列填充部分的代码拆分为单独的过程,会不会更好?
如果有单独的进程用于队列填充和结果队列处理,我看不到任何问题。
注意:我确定这不是一个IO问题,因为我在使用iostat和iotop时没有看到任何IO负载。
或者也许我应该使用一些其他语料库格式,它需要更少的时间来反序列化。??
任何指导都会有所帮助。提前感谢。

aurhwmvo

aurhwmvo1#

你好,@abhishekbuyt,
你可以尝试实现这个方法,这将对我们的LDA模型产生很好的改进。
CC: @piskvorky

fcy6dtqo

fcy6dtqo2#

我同意,队列填充可能会占用大量CPU资源,将文档转换为CSC矩阵(据我所知)。合并过程应该是快速的(同样,据我所知,自从我看到代码以来已经有一段时间了)。
一个好的第一步似乎是分析实际花费时间的地方。找出瓶颈所在。在那之后,我们可以讨论如何优化这些方法。
我个人认为在C(Cython?)中实现MmCorpus和matutils.corpus2csc以及corpus2dense将会在许多模块和方法中带来巨大的优势。

相关问题