Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 使用python加载Freebase_Python 3.x_Utf 8_Word2vec_Freebase - Fatal编程技术网

Python 3.x 使用python加载Freebase

Python 3.x 使用python加载Freebase,python-3.x,utf-8,word2vec,freebase,Python 3.x,Utf 8,Word2vec,Freebase,我得到了freebase-vectors-skipgram1000-en.bin.gz 从…起 然后将其重命名为 freebase-vectors-skipgram1000-en.bin 并在我的代码中使用了它 import gensim.models.keyedvectors as word2vec gvc='freebase-vectors-skipgram1000-en.bin' model=word2vec.KeyedVectors.load_word2vec_format(gvc,bi

我得到了freebase-vectors-skipgram1000-en.bin.gz 从…起 然后将其重命名为 freebase-vectors-skipgram1000-en.bin 并在我的代码中使用了它

import gensim.models.keyedvectors as word2vec
gvc='freebase-vectors-skipgram1000-en.bin'
model=word2vec.KeyedVectors.load_word2vec_format(gvc,binary=True)
它给了我这个错误

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte

我将非常感谢有关此问题的任何帮助。

请使用此文件正确解包,而不是重命名您下载的内容:

$ gunzip -v freebase-vectors-skipgram1000-en.bin.gz

将压缩的
.gz
文件重命名为另一个没有
.gz
的名称(但仍然是压缩的),通常会混淆使用该文件名作为文件格式提示的工具。要么保留文件的原始名称,要么真正解压它,加载就可以了。(Gensim也可以读取压缩的
.gz
文件!)我使用.gz,现在它告诉我:数组太大了
arr.size*arr.dtype.itemsize
大于最大可能大小。您可能会发现类似于
/usr/bin/split-l 100
的命令非常有用。但最有可能的是,正如罗伊·谢德(Roy Scheider)的角色所宣布的,你需要一艘更大的船!获得内存更多的主机是合适的。非常感谢。是的,您可能需要更多的RAM。(即使您可以使用虚拟内存,这些模型上典型的
most_simular()
操作也会触及每个元素,以找到前N个结果,这意味着任何交换都会对性能造成灾难性影响。)此外,如果您使用的是32位Python可执行文件(有时在Windows上仍然存在问题),您可能达到了阵列大小实现的限制。