加载freebase-skipgram模型时Word2vec中的内存错误

时间:2015-06-30 17:58:39

标签: python-2.7 freebase word2vec

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

以下是相同的代码段:

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新闻更多的内存?我觉得不应该这样。我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:1)

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