我正在尝试使用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新闻更多的内存?我觉得不应该这样。我在这里错过了什么吗?
答案 0 :(得分:1)
我想出了这个,这是由于freebase的内存需求。当在其他ipython笔记本运行的8gb机器上运行时,这给了我错误。关闭所有其他进程和其他笔记本允许我最终加载它!