使用 .most_similar() 函数时遇到 Gensim 错误,Jupyter 内核重启

我无法使 .most_similar() 函数正常工作。我尝试了 Gensim 3.8.3 版本,现在正在使用 beta 版本 4.0。我直接按照每个文档版本中的 Word2Vec 模型教程进行操作。

导致错误并重启内核的代码如下:

print(wv.most_similar(positive=['car', 'minivan'], topn=5))

上述代码在 3.8.3 和 4.0 的文档中都是一字不差的。我严格按照教程操作。

正如其他 Stack Overflow 回答中所述,我尝试了 model.wv.most_similar()。

我不认为 .most_similar() 已经废弃。

此外,.doesnt_match() 函数也无法工作。

关于 @ 的编辑:

目前我使用的是 Gensim 3.8.3。我使用 GloVe 模型和 Word2Vec 模型,实际上刚刚尝试过,它在 GloVe 模型上可以工作,可能如 @ 所建议的,Word2Vec 模型存在内存问题,我的代码如下:

我使用的是 Linux 笔记本电脑,配备 I-7 核心 1065 CPU,内存 7.4 GiB,64 位 Ubuntu 系统

%matplotlib inlineimport logginglogging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)import gensim.downloader as apiwv = api.load('word2vec-google-news-300')for i, word in enumerate(wv.vocab):    if i == 10:        break    print(word)pairs = [    ('programming', 'linux'),       ('programming', 'bicycle'),     ('programming', 'apple'),      ('programming', 'cereal'),        ('programming', 'capitalism'),    ('programming', 'computers'),     ('programming', 'python'),      ('programming', 'algebra'),      ('programming', 'logic'),        ('programming', 'math'),]for w1, w2 in pairs:    print('%r\t%r\t%.2f' % (w1, w2, wv.similarity(w1, w2)))print(wv.most_similar(positive=['math'], topn=5))

回答:

如果 Jupyter 内核在没有明确错误信息的情况下崩溃,很可能是内存不足导致的。

您启动 Jupyter 服务器的控制台可能记录了更多信息。如果您能扩展您的问题,包含那里的任何信息,以及您加载的模型的详细信息(磁盘上的大小)和您运行的系统(特别是可用的 RAM),可能会有其他建议。

另外:

虽然 gensim-3.8.3 在第一次调用 .most_similar() 时需要大幅增加 RAM,但 gensim-4.0.0beta 预发布版在那个时候只需要一个小得多的增量 – 因此,如果模型成功加载,您应该也能够获得 .most_similar() 的结果。所以了解以下信息也将是有用的:

  • 您是如何安装 gensim-4.0.0beta 的,并且您是否确认那是您的笔记本内核环境实际使用的版本?
  • 您确定之前的步骤(如加载)已经成功,并且只有 & 正是 most_similar() 触发了失败吗?(它是否在一个单独的单元格中,并且在尝试 most_similar() 之前,您能否成功查询模型的其他方面,比如它的长度或它是否包含某些词汇?)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注