bbr*_*ues 3 nlp python-3.x gensim word2vec
我正在尝试使用 gensim 库在 5000 万个可变长度的句子上训练 doc2vec 模型。
一些教程(例如https://github.com/RaRe-Technologies/gensim/blob/develop/docs/notebooks/doc2vec-lee.ipynbmodel.build_vocab )在实际训练过程之前有一个步骤。该部分已经运行了 3 个小时,没有任何更新。
这一步对于训练过程是必要的吗?既然这只是数据的线性传递,为什么这一步会花费这么长时间?
将 gensim 版本 3.4.0 与 python 3.6.0 结合使用
build_vocab()需要发现所有单词,然后设置已知词汇结构的步骤。(不过,如果您提供语料库作为 的参数Doc2Vec,则 和build_vocab()都会train()自动完成。)
您应该在 INFO 级别启用 Python 日志记录,以查看有关此过程以及其他长时间运行的 gensim 步骤的进度的记录信息。这将帮助您了解是否真正取得了进展,或者在某个时候已经停止或放缓。
如果词汇发现开始时很快,但随后变慢,则可能是您的系统内存太少,并且开始使用非常慢的虚拟内存(交换)。如果它似乎停止了,则可能是您阅读语料库的方法存在无声错误。如果整个过程很慢,可能是你阅读语料库的方法有问题。