Python 2.7 gensim创建扩展名为.bin.trainables.syn1neg.npy和.bin.wv.vectors.npy的文件,扩展名为.bin

Python 2.7 gensim创建扩展名为.bin.trainables.syn1neg.npy和.bin.wv.vectors.npy的文件,扩展名为.bin,python-2.7,gensim,word2vec,Python 2.7,Gensim,Word2vec,我正在使用python gensim为9300万个句子创建word2vec。然而,当我训练我的模型时,除了.bin之外,我还得到了三个扩展名为.bin.trainables.syn1neg.npy和.bin.wv.vectors.npy的文件作为输出。我仔细阅读了这里提供的答案:它给出了为什么会发生这种情况的理由。但是,我想知道是否有办法将这些文件转换为普通的单bin文件?有一个可选参数.save(),名为sep\u limit,默认值为10MiB,用于控制使用单独文件的阈值。您可以尝试将其设置

我正在使用python gensim为9300万个句子创建word2vec。然而,当我训练我的模型时,除了.bin之外,我还得到了三个扩展名为.bin.trainables.syn1neg.npy和.bin.wv.vectors.npy的文件作为输出。我仔细阅读了这里提供的答案:它给出了为什么会发生这种情况的理由。但是,我想知道是否有办法将这些文件转换为普通的单bin文件?

有一个可选参数
.save()
,名为
sep\u limit
,默认值为10MiB,用于控制使用单独文件的阈值。您可以尝试将其设置为一个更大的值—比您看到的任何额外文件都大—只要您的模型仍然足够小,不会达到
pickle()
限制,它就可以工作


但是,
gensim
正在将一个模型保存到多个文件中,以提高效率,并确保不会在Python
pickle()
中设置大小限制。如果可能的话,你应该把这些文件作为一个集合放在一起。它们将始终具有相同的共享前缀,即您作为
.save()
的名称提供的前缀

有一个可选参数
.save()
,名为
sep\u limit
,默认值为10MiB,用于控制使用单独文件的阈值。您可以尝试将其设置为一个更大的值—比您看到的任何额外文件都大—只要您的模型仍然足够小,不会达到
pickle()
限制,它就可以工作


但是,
gensim
正在将一个模型保存到多个文件中,以提高效率,并确保不会在Python
pickle()
中设置大小限制。如果可能的话,你应该把这些文件作为一个集合放在一起。它们将始终具有相同的共享前缀,即您作为
.save()
的名称提供的前缀

谢谢你的回答…我注意到当我使用model.save()时创建了三个文件,但是当我使用model.wv.save_word2vec_format()时,这个问题已经解决了如果你只需要单词vectors,这是一个很好的解决方案!但是请注意,本机的
.save()
保留了更多的模型信息,例如它的词汇计数和允许进行额外训练的内部权重。感谢您的回答…我注意到的是,当我使用model.save()时,创建了三个文件,而当我使用model.wv.save_word2vec_format()时这个问题已经解决了如果你只需要单词向量,这是一个很好的解决方案!但是请注意,本机的
.save()
保留了模型的更多信息,例如词汇计数和允许进行额外训练的内部权重。