使用 Word2Vec.load() 时出现 Unpickling 错误

Unpickling Error while using Word2Vec.load()

我正在尝试使用 gensim.Word2Vec.load(fname) 加载二进制文件,但出现错误:

File "file.py", line 24, in model = gensim.models.Word2Vec.load('ammendment_vectors.model.bin')

File "/home/hp/anaconda3/lib/python3.6/site-packages/gensim/models/word2vec.py", line 1396, in load model = super(Word2Vec, cls).load(*args, **kwargs)

File "/home/hp/anaconda3/lib/python3.6/site-packages/gensim/utils.py", line 271, in load obj = unpickle(fname)

File "/home/hp/anaconda3/lib/python3.6/site-packages/gensim/utils.py", line 933, in unpickle return _pickle.load(f, encoding='latin1')

_pickle.UnpicklingError: could not find MARK

我用谷歌搜索,但无法弄清楚为什么会出现此错误。如果需要任何其他信息,请告诉我。

如果文件是由 gensim 的原生 .save() 创建的,这通常会起作用。

您确定文件 'ammendment_vectors.model.bin' 完整且未损坏吗?

创建它时使用的 Python/gensim 版本是否与您尝试 load() 使用的版本相同?

您可以尝试重新创建文件吗?