首页 > 解决方案 > 如何在 gensim 上修复木槌

问题描述

我在笔记本上写了 LDA 模型。我正在尝试用木槌包装我的 gensim LDA 模型,出现以下错误:

CalledProcessError:命令'../input/mymallet/mallet-2.0.8/bin/mallet import-file --preserve-case --keep-sequence --remove-stopwords --token-regex "\S+" --input /tmp/fbcc4b_corpus.txt --output /tmp/fbcc4b_corpus.mallet' 返回非零退出状态 126。

由于第二行而引发的错误:

mallet_path = '../input/mymallet/mallet-2.0.8/bin/mallet' # update this path
ldamallet = gensim.models.wrappers.LdaMallet(mallet_path, corpus=corpus, num_topics=20, id2word=id2word)

路径是正确的。

试过这个解决方案: Gensim mallet CalledProcessError: returned non-zero exit status

没有为我工作..

标签: gensimldakagglemallet

解决方案


我不知道你是否解决了这个问题,但我遇到了同样的问题。对我来说,问题的发生是因为我已将 mallet 二进制文件上传到研究服务器,而 Mallet 丢失了它的可执行标志。我的解决方案是运行

chmod -R +x mallet-2.0.8

这允许 gensim 包装器或您希望运行 mallet 的任何方式来运行可执行文件。如果您想更精确地使用chmod,则可能chmod是实际mallet-2.0.8/bin/mallet文件。


推荐阅读