.most_similar() 的 Gensim 错误,jupyter 内核重新启动
Gensim error with .most_similar(), jupyter kernel restarting
我无法使用 .most_similar() 函数。我已经尝试了 Gensim 3.8.3 版本,现在是测试版 4.0。我正在使用每个文档版本的 Word2Vec 模型教程。
给我错误并重新启动我的内核的代码:
print(wv.most_similar(positive=['car', 'minivan'], topn=5))
以上代码在 3.8.3 文档和 4.0 中都是逐字记录的。逐字遵循教程。
如我已尝试的其他堆栈溢出答案所述model.wv.most_similar()
我不认为 .most_similar() 贬值了。
此外,.doesnt_match() 函数不起作用。
关于 gojomo 的编辑:
现在我正在使用 Genism 3.8.3。我正在使用 GloVe 模型和 Word2Vec 模型,实际上只是尝试了它并且它与 GloVe 模型一起工作,也许 Word2Vec 模型有内存问题,就像 gojomo 建议的我的代码如下:
我正在使用 linx 笔记本电脑,I-7 核心 1065 cpu,内存 7.4 GiB,64 位 ubuntu
%matplotlib inline
import logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
import gensim.downloader as api
wv = 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()
之前,您能否成功查询模型的其他方面,例如它的长度或是否包含某些单词?)
我无法使用 .most_similar() 函数。我已经尝试了 Gensim 3.8.3 版本,现在是测试版 4.0。我正在使用每个文档版本的 Word2Vec 模型教程。
给我错误并重新启动我的内核的代码:
print(wv.most_similar(positive=['car', 'minivan'], topn=5))
以上代码在 3.8.3 文档和 4.0 中都是逐字记录的。逐字遵循教程。
如我已尝试的其他堆栈溢出答案所述model.wv.most_similar()
我不认为 .most_similar() 贬值了。
此外,.doesnt_match() 函数不起作用。
关于 gojomo 的编辑:
现在我正在使用 Genism 3.8.3。我正在使用 GloVe 模型和 Word2Vec 模型,实际上只是尝试了它并且它与 GloVe 模型一起工作,也许 Word2Vec 模型有内存问题,就像 gojomo 建议的我的代码如下:
我正在使用 linx 笔记本电脑,I-7 核心 1065 cpu,内存 7.4 GiB,64 位 ubuntu
%matplotlib inline
import logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
import gensim.downloader as api
wv = 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()
之前,您能否成功查询模型的其他方面,例如它的长度或是否包含某些单词?)