Молоток с Генсимом: файл не найден - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь заставить работать LDAMallet в gensim, но получаю следующую ошибку

'C: \ ... \ AppData \ Local \ Temp \ eb09f5_state.mallet.gz' не найден

Код

ldamallet = gensim.models.\
wrappers.LdaMallet(mallet_path,
                   corpus=corpus,
                   num_topics=5,
                   id2word=dictionary)

(num_topics очень мал, но тест состоит из 5 предложений; в обычном Gensim LdaModel это не проблема)

спасибо,

1 Ответ

0 голосов
/ 03 июля 2018

Я столкнулся с той же проблемой.Я получил следующую ошибку:

IOError: [Errno 2] No such file or directory c:\\users\\...\\appdata\\local\\temp \\d36348_state.mallet.gz.

Каждый раз, когда я пытался запустить код, префикс перед изменением подчеркивания менялся, но имя ошибки всегда заканчивалось формой "~Некоторая буквенно-цифровая строка ~ _state.mallet.gz ".

Я попытался понять вывод трассировки стека в консоли.Строка перед этой строкой ошибки была следующей:

fileobj = self.myfileobj = __builtin__.open(filename, mode or 'rb')

Я прогуглил ее и нашел эту конкретную ссылку .Это ссылка на github, где человек выдал другую ошибку, но конечная часть его журнала ошибок была такой же, как моя.Решением его ошибки было обновление его smart_open модуля, от которого зависит gensim, поскольку обновление устранило проблему.Итак, я проверил свою smart_open версию модуля, и это была 1.4.x, последняя версия была обновлена ​​около полутора лет назад, поэтому я обновил ее до версии 1.5.7, и код LdaMallet работает без сбоев.

Пожалуйста, проверьте, вызвана ли проблема на вашем конце по тем же причинам.

Надеюсь, это поможет!

PS Я также обновил свой модуль gensim наряду с smart_open до версии 3.4.

...