我相信这是由于主要过程无法同时跟上排队和合并结果。如果我们将队列填充部分的代码拆分为单独的过程,会不会更好?如果有单独的进程用于队列填充和结果队列处理,我看不到任何问题。注意:我确定这不是一个IO问题,因为我在使用iostat和iotop时没有看到任何IO负载。或者也许我应该使用一些其他语料库格式,它需要更少的时间来反序列化。??任何指导都会有所帮助。提前感谢。
aurhwmvo1#
你好,@abhishekbuyt,你可以尝试实现这个方法,这将对我们的LDA模型产生很好的改进。CC: @piskvorky
fcy6dtqo2#
我同意,队列填充可能会占用大量CPU资源,将文档转换为CSC矩阵(据我所知)。合并过程应该是快速的(同样,据我所知,自从我看到代码以来已经有一段时间了)。一个好的第一步似乎是分析实际花费时间的地方。找出瓶颈所在。在那之后,我们可以讨论如何优化这些方法。我个人认为在C(Cython?)中实现MmCorpus和matutils.corpus2csc以及corpus2dense将会在许多模块和方法中带来巨大的优势。
matutils.corpus2csc
corpus2dense
2条答案
按热度按时间aurhwmvo1#
你好,@abhishekbuyt,
你可以尝试实现这个方法,这将对我们的LDA模型产生很好的改进。
CC: @piskvorky
fcy6dtqo2#
我同意,队列填充可能会占用大量CPU资源,将文档转换为CSC矩阵(据我所知)。合并过程应该是快速的(同样,据我所知,自从我看到代码以来已经有一段时间了)。
一个好的第一步似乎是分析实际花费时间的地方。找出瓶颈所在。在那之后,我们可以讨论如何优化这些方法。
我个人认为在C(Cython?)中实现MmCorpus和
matutils.corpus2csc
以及corpus2dense
将会在许多模块和方法中带来巨大的优势。