我正在尝试加载我在此处找到的预训练的words2vecs(https://github.com/mmihaltz/word2vec-GoogleNews-vectors) 我使用了以下命令:
model = gensim.models.KeyedVectors.load_word2vec_format('word2vec.bin.gz', binary=False)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/deeplearning/anaconda3/lib/python3.6/site-
packages/gensim/models/keyedvectors.py", line 193, in
load_word2vec_format
header = utils.to_unicode(fin.readline(), encoding=encoding)
File "/home/deeplearning/anaconda3/lib/python3.6/gzip.py", line 374,
in readline
return self._buffer.readline(size)
File "/home/deeplearning/anaconda3/lib/python3.6/_compression.py",
line 68, in readinto
data = self.read(len(byte_view))
File "/home/deeplearning/anaconda3/lib/python3.6/gzip.py", line 463,
in read
if not self._read_gzip_header():
File "/home/deeplearning/anaconda3/lib/python3.6/gzip.py", line 411,
in _read_gzip_header
raise OSError('Not a gzipped file (%r)' % magic)
OSError: Not a gzipped file (b've')
答案 0 :(得分:0)
因为错误显示“不是gzip压缩文件”,该文件可能无意中未压缩,但仍然具有误导性的.gzip
扩展名? (尝试在没有.gzip
的情况下重命名,加载该文件。)
因为文件名包含.bin
,所以它可能是'二进制'样式的word2vec格式。因此可选参数可能需要为binary=True
。
您使用的文件名word2vec.bin.gz
与您提供的链接GoogleNews-vectors-negative300.bin.gz
的文件名不匹配。这表明可能发生了可能导致问题的其他变化。
该错误还会报告来自文件b've'
的“幻数”(指示性前缀),它看起来像一些纯文本,而不是真正的gzip文件的开头。您可能希望通过类似head word2vec.bin.gz
之类的内容查看问题文件的前几行,以查看是否有其他指示(除了您的预期之外)。
答案 1 :(得分:0)
例如,我保存了一个名为“ GoogleNews-vectors-negative300.bin.gz”的文件
curl -o - https://s3.amazonaws.com/dl4j-distribution/GoogleNews-vectors-negative300.bin.gz | gunzip > ./GoogleNews-vectors-negative300.bin
说明:
将输出指定为“-”(一个破折号)将强制输出到 完成标准输出。
因此,根据您的情况,对文件进行相同操作
有关更多信息,请参见原始解决方案: