Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.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 Gensim Word2vec存储属性syn0norm_Python_Gensim_Word2vec - Fatal编程技术网

Python Gensim Word2vec存储属性syn0norm

Python Gensim Word2vec存储属性syn0norm,python,gensim,word2vec,Python,Gensim,Word2vec,我正在尝试将word2vec用于一个项目,经过培训后,我得到: INFO : not storing attribute syn0norm 有没有办法保存syn0norm 我该怎么做?这很好——您不需要存储数组syn0norm 它是在init_sims过程中计算的,并且只在需要的基础上进行计算。训练后,它实际上没有定义,所以没有什么可训练的 当您查询模型时(例如most_Simon),它将调用init_sims,检查syn0norm是否已定义。如果没有,则用以下行指定: self.syn0no

我正在尝试将word2vec用于一个项目,经过培训后,我得到:

INFO : not storing attribute syn0norm
有没有办法保存
syn0norm

我该怎么做?

这很好——您不需要存储数组syn0norm

它是在init_sims过程中计算的,并且只在需要的基础上进行计算。训练后,它实际上没有定义,所以没有什么可训练的

当您查询模型时(例如most_Simon),它将调用init_sims,检查syn0norm是否已定义。如果没有,则用以下行指定:

self.syn0norm = (self.syn0 / sqrt((self.syn0 ** 2).sum(-1))[..., newaxis]).astype(REAL)
编辑:

查看代码(其他内容)后,我发现您可以指定是否要保存syn0norm——有一个ignore设置,默认为['syn0norm'],因此以下内容将保存所有内容:

In [239]: model.save('test',ignore=[])
2015-03-17 09:07:54,733 : INFO : saving Word2Vec object under test, separately None
2015-03-17 09:07:54,734 : INFO : storing numpy array 'syn0' to test.syn0.npy
2015-03-17 09:08:15,908 : INFO : storing numpy array 'table' to test.table.npy
2015-03-17 09:08:17,908 : INFO : storing numpy array 'syn1neg' to test.syn1neg.npy
2015-03-17 09:08:35,037 : INFO : storing numpy array 'syn1' to test.syn1.npy
2015-03-17 09:09:03,766 : INFO : storing numpy array 'syn0norm' to test.syn0norm.npy

问题是,计算时间通常比保存和重新加载要短。

我不确定自己是否完全理解了它。对我来说,
.syn0.npy
文件会自动保存,如果训练语料库足够大,即使我没有指定任何内容。该文件是必需的还是只是同一型号的附加序列化?