Gensim build_vocab 耗时太长

Gensim build_vocab taking too long

我正在尝试使用 gensim 库在 5000 万个可变长度的句子上训练 doc2vec 模型。

一些教程(例如 https://github.com/RaRe-Technologies/gensim/blob/develop/docs/notebooks/doc2vec-lee.ipynb)在实际训练过程之前有一个 model.build_vocab 步骤。这部分已经 运行 3 小时了,没有任何更新。

这一步是训练过程所必需的吗?为什么这一步会花费这么长时间,因为它只是对数据的线性传递?

将 gensim 版本 3.4.0 与 python 3.6.0

一起使用

build_vocab() 发现所有单词,然后设置已知词汇结构的步骤是必需的。 (不过,如果您提供语料库作为 Doc2Vec 的参数,build_vocab()train() 都会自动完成。)

您应该在 INFO 级别启用 Python 日志记录,以查看有关此过程和其他长期 运行 gensim 步骤的记录信息。这将帮助您了解进展是否真的正在取得,或者是否在某个时候停止或放缓。

如果词汇发现开始时很快但随后变慢,可能是您的系统内存太少并且已开始使用非常慢的虚拟内存(交换)。如果它似乎停止了,那么您阅读语料库的方法可能存在无声错误。如果它只是整个过程都很慢,那么你阅读语料库的方法可能有问题。