python-3.x 属性错误:计数矢量器没有属性load_specials

oxalkeyp  于 2022-12-05  发布在  Python
关注(0)|答案(1)|浏览(137)

I have been trying very long but unable to fix the below error

Error

File "C:\amnpawar\AIenv\lib\site-packages\gensim\models\deprecated\doc2vec.py", line 91, in load_old_doc2vec

old_model = Doc2Vec.load(*args, **kwargs)

File "C:\amnpawar\AIenv\lib\site-packages\gensim\models\deprecated\word2vec.py", line 1617, in load

model = super(Word2Vec, cls).load(*args, **kwargs)

File "C:\amnpawar\AIenv\lib\site-packages\gensim\models\deprecated\old_saveload.py", line 88, in load obj._load_specials(fname, mmap, compress, subname)

AttributeError: 'CountVectorizer' object has no attribute '_load_specials'

q8l4jmvw

q8l4jmvw1#

事实上,你已经为此挣扎了很长一段时间,但答案基本上是一样的,当你问它的一个版本在9月,我回答说:https://stackoverflow.com/a/73660204/130288

请勿尝试使用任何Gensim .load()方法加载非Gensim保存的对象。

CountVectorizer不是Gensim类。此错误表明您试图在此处加载的文件是CountVectorizer对象的pickle-serialization,而不是Gensim Doc2Vec对象。
查看上一个问题中的代码,很可能最初的错误是使用pickle.dump()CountVectorizer写入与之前的Doc2Vecmodel.save()相同的文件名。因此,该文件不再包含Doc2Vec对象。最初保存的内容都被覆盖了。
如果你想加载这个文件,请使用与初始问题代码中相同的pickle.load(),但是你得到的加载对象将不是Doc2Vec模型,而是CountVectorizer
要加载一个Doc2Vec模型,您需要使用一个实际包含Doc2Vec模型的不同文件(如果您没有这样的文件,因为在保存CountVectorizer时原始模型文件被覆盖了,您需要训练另一个Doc2Vec模型)。

相关问题