【发布时间】:2020-08-28 00:32:53
【问题描述】:
问题是我有 1000 多个文档,我通过了所有用于训练 Gensim 模型的文档,我成功地训练并以 .model 格式保存了模型。
但是以目前的格式,还生成了2个新文件
- doc2vec.model
- doc2vec.model.trainables.syn1neg.npy
- doc2vec.model.wv.vectors.npy
由于硬件的限制,我分别在 Google Colab 和 Google Driver 上训练并保存了模型。当我在本地机器上下载生成的模型和额外文件并运行代码时,它给了我一个 File Not Found 错误,而我添加了 .py 文件所在的特定文件或当前工作目录所在的位置。
我用下面的代码
from gensim.models.doc2vec import Doc2Vec, TaggedDocument
from nltk.tokenize import word_tokenize
files = readfiles("CuratedData")
data = [TaggedDocument(words=word_tokenize(_d.decode('utf-8').strip().lower()), tags=[str(i)]) for i, _d in enumerate(files)]
max_epochs = 100
vec_size = 300
alpha = 0.025
model = Doc2Vec(vector_size=vec_size,
alpha=alpha,
min_alpha=0.00025,
min_count=1,
dm=1)
model.build_vocab(data)
for epoch in range(max_epochs):
print('iteration {0}'.format(epoch))
model.train(data,
total_examples=model.corpus_count,
epochs=model.iter)
# decrease the learning rate
model.alpha -= 0.0002
# fix the learning rate, no decay
model.min_alpha = model.alpha
model.save("doc2vec.model")
print("Model Saved")
加载模型的代码
webVec = ""
try:
path = os.path.join(os.getcwd(), "doc2vec.model")
model = Word2Vec.load(path)
data = word_tokenize(content['htmlResponse'].lower())
# Webvector
webVec = model.infer_vector(data)
except ValueError as ve:
print(ve)
except (TypeError, ZeroDivisionError) as ty:
print(ty)
except:
print("Oops!", sys.exc_info()[0], "occurred.")
任何帮助将不胜感激。谢谢,干杯
【问题讨论】:
标签: python python-2.7 gensim word2vec doc2vec