我在笔记本上写了LDA模型。 我正在尝试用木槌包装我的 gensim LDA 模型,出现以下错误:
调用进程错误:命令 '../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 槌 调用进程错误:返回非零退出状态
对我不起作用..
我花了几个小时试图解决它。 尝试了此解决方案,但没有任何效果。
查看我之前对LDA Mallet的成功调用,我注意到一些参数没有被设置,然后我做了这样:
gensim.models.wrappers.LdaMallet(mallet_path=mallet_path, corpus=corpus, num_topics=num_topics, id2word=id2word, prefix='temp_file_', workers=4(
我真的希望它对你有所帮助。找到解决这个问题的方法是一种痛苦。
我不知道你是否曾经解决这个问题,但我遇到了同样的问题。 对我来说,出现问题是因为我将 mallet 二进制文件上传到研究服务器,其中 Mallet 丢失了其可执行标志。 我的解决方案是运行
chmod -R +x mallet-2.0.8
这允许 gensim 包装器,或者您希望运行 mallet 的任何方式,运行可执行文件。 如果你想更精确地使用chmod
,你可能会chmod
实际的mallet-2.0.8/bin/mallet
文件。