与 Gensim 相比,pyTorch 的训练时间非常长

问题描述 投票:0回答:1

我使用 Brown 语料库和 gensim 训练了一个 word2vec 模型,如下所示:

model = gensim.models.Word2Vec(brown.sents(),min_count = 5,
                              vector_size = 30, window = 5, negative=5) 

训练只需要几秒钟。

然后我尝试使用 pyTorch 构建 word2vec 模型。据我估计,培训需要5个多小时。

我预计速度会有所不同,因为 Gensim 的 word2vec 使用优化的 C 例程。然而,我没想到会有这么大的差异。

pyTorch 训练花费这么多时间正常吗?对于这两种情况,我都没有使用任何 GPU。在标准 4-cpu Mac 上,我应该期望 PyTorch 执行此任务的运行时间是多少?

pytorch nlp gensim word2vec
1个回答
0
投票

您还没有提到您正在运行什么 PyTorch 代码。

但是,当 Gensim 拥有 both 其 word2vec 例程的简单纯 Python 实现以及备用 Cython 和 BLAS 优化路径时,普通 Python 的运行速度通常是 80-120 倍较慢 .

如果您运行的 PyTorch 代码是纯 Python 的,并且进一步可能主要是为了说明其目的 – 甚至没有考虑 Python 效率,或者可能没有尝试使用多个线程/进程 – 那么速度会从“不到一分钟” ” 到“几个小时”是合理的。

© www.soinside.com 2019 - 2024. All rights reserved.