Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.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 导入GoogleNews-vectors-negative300.bin_Python_Gensim - Fatal编程技术网

Python 导入GoogleNews-vectors-negative300.bin

Python 导入GoogleNews-vectors-negative300.bin,python,gensim,Python,Gensim,我正在使用gensim编写代码,并且很难排除代码中的ValueError故障。我终于能够压缩GoogleNews-vectors-negative300.bin.gz文件,以便在我的模型中实现它。我还尝试了gzip,但没有成功。代码中的错误出现在最后一行。我想知道可以做些什么来修复错误。有什么解决办法吗?最后,有我可以参考的网站吗 感谢您的帮助 import gensim from keras import backend from keras.layers import Dense, Inpu

我正在使用gensim编写代码,并且很难排除代码中的ValueError故障。我终于能够压缩GoogleNews-vectors-negative300.bin.gz文件,以便在我的模型中实现它。我还尝试了gzip,但没有成功。代码中的错误出现在最后一行。我想知道可以做些什么来修复错误。有什么解决办法吗?最后,有我可以参考的网站吗

感谢您的帮助

import gensim
from keras import backend
from keras.layers import Dense, Input, Lambda, LSTM, TimeDistributed
from keras.layers.merge import concatenate
from keras.layers.embeddings import Embedding
from keras.models import Mode

pretrained_embeddings_path = "GoogleNews-vectors-negative300.bin"
word2vec = 
gensim.models.KeyedVectors.load_word2vec_format(pretrained_embeddings_path, 
binary=True)

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-3-23bd96c1d6ab> in <module>()
  1 pretrained_embeddings_path = "GoogleNews-vectors-negative300.bin"
----> 2 word2vec = 
gensim.models.KeyedVectors.load_word2vec_format(pretrained_embeddings_path, 
binary=True)

C:\Users\green\Anaconda3\envs\py35\lib\site-
packages\gensim\models\keyedvectors.py in load_word2vec_format(cls, fname, 
fvocab, binary, encoding, unicode_errors, limit, datatype)
244                             word.append(ch)
245                     word = utils.to_unicode(b''.join(word), 
encoding=encoding, errors=unicode_errors)
--> 246                     weights = fromstring(fin.read(binary_len), 
dtype=REAL)
247                     add_word(word, weights)
248             else:

ValueError: string size must be a multiple of element size
导入gensim
从keras导入后端
从keras.layers导入稠密、输入、λ、LSTM、时间分布
从keras.layers.merge导入连接
从keras.layers.embedings导入嵌入
从keras.models导入模式
预训练的嵌入路径=“GoogleNews-vectors-negative300.bin”
word2vec=
gensim.models.KeyedVectors.load\u word2vec\u格式(预训练嵌入路径,
二进制=真)
---------------------------------------------------------------------------
ValueError回溯(最近一次调用上次)
在()
1预训练的嵌入路径=“GoogleNews-vectors-negative300.bin”
---->2字2VEC=
gensim.models.KeyedVectors.load\u word2vec\u格式(预训练嵌入路径,
二进制=真)
C:\Users\green\Anaconda3\envs\py35\lib\site-
load_word2vec_格式的packages\gensim\models\keyedvectors.py(cls、fname、,
fvocab、二进制、编码、unicode_错误、限制、数据类型)
244字。附加(ch)
245 word=utils.to_unicode(b.)。连接(word),
编码=编码,错误=unicode\u错误)
-->246权重=从字符串(fin.read(二进制)读取),
dtype=实际值)
247添加单词(单词、权重)
248其他:
ValueError:字符串大小必须是元素大小的倍数

您必须编写完整的路径

使用以下路径:


以下命令有效

brew install wget

wget -c "https://s3.amazonaws.com/dl4j-distribution/GoogleNews-vectors-negative300.bin.gz"
这将下载GZIP压缩文件,您可以使用以下方法解压缩该文件:

gzip-d GoogleNews-vectors-negative300.bin.gz
然后,您可以使用下面的命令获取wordVector

from gensim import models

w = models.KeyedVectors.load_word2vec_format(
    '../GoogleNews-vectors-negative300.bin', binary=True)
试试这个-

import gensim.downloader as api

wv = api.load('word2vec-google-news-300')

vec_king = wv['king']

另外,请访问此链接:

我可以执行您的代码而不会出错。你确定你有最新版本的gensim吗?你是真的压缩了矢量文件(正如你在文章中写的)还是说“解压”?您是否尝试设置
binary=false
以检查是否可以使用文本文件而不是二进制文件?我使用Winzip压缩文件。我还尝试了binary=false。我用最新版本的gensim得到了相同的结果。我正在使用Python 3.6。我怀疑您的文件已损坏,或者不是真正的未压缩二进制文件。Gensim可以很好地读取
.gz
文件,因此您可以使用该原始文件。尝试下载fresh&确保大小符合预期。如果您仍然有问题,请报告您正在尝试的文件的MD5哈希,以与其他人的版本进行比较。谢谢。我偶然发现了wget包,并以这种方式下载了bin文件。我会再试一次。欢迎链接到解决方案,但请确保您的答案在没有它的情况下是有用的:这样您的其他用户就会知道它是什么以及它为什么在那里,然后引用您链接到的页面的最相关部分,以防目标页面不可用。如果每个人都能使用这个链接,我们(Skymind)将不胜感激:@CrabMan我们每个月都会收到几千张托管该文件的账单,它会耗尽我们所有的AWS积分。不幸的是,该模型无法推断不熟悉单词的向量。这是Word2Vec的一个限制:如果这个限制对您很重要,请查看FastText模型。我收到了以下警告:
/usr/local/lib/python3.6/dist-packages/smart\u-open/smart\u-open\u-lib.py:253:UserWarning:此函数不推荐使用,请改用smart\u-open.open。有关详细信息,请参见迁移说明:https://github.com/RaRe-Technologies/smart_open/blob/master/README.rst#migrating-到新打开的函数“有关详细信息,请参阅迁移说明:%s”%\u migration\u notes\u URL
有什么解决方法吗?