fastText - выдает исключение без каких-либо причин

Я использую fastText реализацию модуля gensim. Несмотря на отсутствие причин, моя программа выдает исключение.

Вот код:

try:
    data = []
    with open(TXT_PATH, 'r', encoding='utf-8') as txt_file:
        for line in txt_file:
            for part in line.split(' '):
                data.append(part.strip())

    fastText = FastText(data, min_count=1, size=10000, window=5, workers=4)

    # Print results
    word_1 = 'happy'
    word_2 = 'birthday'
    print(f'Similarity between {word_1} and {word_2} thru fastText: {fastText.similarity(word_1, word_2)}')
except Exception as err:
    print(f'\n!!!!! An error happened! Detail: {str(err)}')

Конец вывода:

!!!!! An error happened! Detail: 

person talha06    schedule 01.11.2019    source источник


Ответы (1)


Согласно моему ответу на ваш другой вопрос, ваш data не отображается быть в правильном формате (где каждый элемент представляет собой список строк), а size=10000 находится далеко за пределами обычного диапазона разумных векторных размеров.

Но в основном, если вам нужна дополнительная информация об исключениях, вам не следует ловить Exception и печатать собственное минимальное загадочное сообщение об ошибке. Удалите обработку _4 _ / _ 5_ из вашего кода, запустите ее снова, и вы должны увидеть более полезное сообщение об ошибке, включая стек вызовов, который показывает, какая именно строка вашего кода (и строки вызываемого кода библиотеки) вовлечены в состояние ошибки. .

Если это само по себе не поможет вам решить проблему, вы можете добавить дополнительные сведения о полном стеке ошибок и вызовов в свой вопрос, чтобы помочь другим увидеть, что происходит.

person gojomo    schedule 01.11.2019
comment
Большое спасибо за ваш ценный вклад. Да, когда я удалил обработку try-except, я получил полезную трассировку стека ошибок. Итак, последний вопрос, как я могу получить полную трассировку стека ошибок с использованием try-except обработки? - person talha06; 02.11.2019
comment
Вы можете увидеть некоторые идеи на ‹stackoverflow.com/questions/3702675/›, но широкий перехват ошибок, которые вы еще не понимаете (в отличие от ожидаемых исключений), часто является плохой идеей по сравнению с чтобы разрешить отображение / остановку по умолчанию. - person gojomo; 02.11.2019