3

我正在尝试使用 word2vec 并使用 freebase skip gram 模型。但由于内存错误,我无法加载模型。

这是相同的代码片段:

model = gensim.models.Word2Vec()
model = models.Word2Vec.load_word2vec_format('freebase-vectors-skipgram1000.bin.gz', binary=True)

我收到以下错误:

MemoryError                               Traceback (most recent call last)
<ipython-input-40-a1cfacf48c94> in <module>()
      1 model = gensim.models.Word2Vec()
----> 2 model = models.Word2Vec.load_word2vec_format('freebase-vectors-skipgram1000.bin.gz', binary=True)

/../../word2vec.pyc in load_word2vec_format(cls, fname, fvocab, binary, norm_only)
    583             vocab_size, layer1_size = map(int, header.split())  # throws for invalid file format
    584             result = Word2Vec(size=layer1_size)
--> 585             result.syn0 = zeros((vocab_size, layer1_size), dtype=REAL)
    586             if binary:
    587                 binary_len = dtype(REAL).itemsize * layer1_size

MemoryError: 

但同样的事情也适用于使用以下代码的谷歌新闻:

model = gensim.models.Word2Vec()
model = models.Word2Vec.load_word2vec_format('GoogleNews-vectors-negative300.bin.gz', binary=True)

我无法理解为什么。是不是 freebase 比 google news 需要更多的内存?我觉得不应该这样。我在这里错过了什么吗?

4

1 回答 1

1

我想通了,这是由于 freebase 的内存要求。当在 8gb 机器上运行其他 ipython 笔记本时,这给了我错误。关闭所有其他进程和其他笔记本让我终于可以加载它!

于 2015-07-01T16:02:16.837 回答