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 步骤的记录信息。这将帮助您了解进展是否真的正在取得,或者是否在某个时候停止或放缓。
如果词汇发现开始时很快但随后变慢,可能是您的系统内存太少并且已开始使用非常慢的虚拟内存(交换)。如果它似乎停止了,那么您阅读语料库的方法可能存在无声错误。如果它只是整个过程都很慢,那么你阅读语料库的方法可能有问题。
我正在尝试使用 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 步骤的记录信息。这将帮助您了解进展是否真的正在取得,或者是否在某个时候停止或放缓。
如果词汇发现开始时很快但随后变慢,可能是您的系统内存太少并且已开始使用非常慢的虚拟内存(交换)。如果它似乎停止了,那么您阅读语料库的方法可能存在无声错误。如果它只是整个过程都很慢,那么你阅读语料库的方法可能有问题。