我正在尝试使用以下代码从Google加载预训练的单词向量:

from gensim import models
w = models.KeyedVectors.load_word2vec_format('GoogleNews-vectors-negative300.bin.gz', binary=True)

但是我得到一个错误,告诉我



任何人都可以提出可能的解决方案。提前致谢。

最佳答案

这可能是由于您安装的Python使用32位寻址而触发的,因此无法分配加载GoogleNews向量所需大小的数组。一些选项:

  • 切换到64位Python。请注意,完整向量集需要3GB +的负载才能加载,因此,除非您的RAM大于4GB,否则无论如何都很难使用完整向量集。
  • 使用gensim的limit方法的可选load_word2vec_format()参数来仅读取文件中的某些早期条目。该文件似乎以最不频繁的 token 顺序排列,因此通常只需要早期输入即可。例如,您可以尝试limit=500000仅读取第一个500,000个条目(而不是全部300万个)
  • 关于python - ValueError : array is too big when loading GoogleNews-vectors-negative,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42727181/

    10-11 22:48
    查看更多