Ошибка имени с тензорным потоком: почему это не работает?

#python #tensorflow #word-embedding

#python #тензорный поток #встраивание слов

Вопрос:

Я пытаюсь запустить этот код в течение нескольких часов, но я мог бы решить проблему. Кто-нибудь знает, как я мог бы исправить ist? Он выдает ошибку имени: имя ’embedding_weights’ не определено, но я его уже определил.

Большое спасибо!

 def get_glove(path_to_glove, word2index_map):

    embedding_weights = {}
    count_all_words = 0
    with zipfile.ZipFile(path_to_glove) as z:
        with open("glove.6B.300d.zip") as f:
            for line in f:
                vals = line.split()
                word = str(vals[0].decode("utf-8"))
                if word in word2index_map:
                    print(word)
                    count_all_words =1
                    coefs = np_asarray(vals[:1],dtype='float32')
                    coefs/=np.linalg.norm(coefs)
                    embedding_weights[word] = coefs
                if count_all_words==vocabulary_size-1:
                    break
    return embedding_weights
word2embedding_dict = get_glove(path_to_glove,word2index_map)
  

Комментарии:

1. В вашем исходном сообщении возврат не был внутри функции (пропущенные пробелы). Это была проблема форматирования вашего вопроса или проблема?

2. Да, спасибо, проблема была в форматировании. Извините, я думаю, что я долго сидел над этим! Можете ли вы узнать, почему в строке 9 также есть ошибка? Он выдает ошибку UnicodeDecodeError: кодек ‘utf-8’ не может декодировать байт 0xbb в позиции 53: недопустимый начальный байт.

3. Я уже пробовал это с помощью ‘ignore’.

4. Возможно, ваш доступ к zip-файлу неверен. Вы не используете диспетчер контекста z и получаете доступ к zip-каталогу напрямую, а не к одному файлу. Может взглянуть на docs.python.org/3/library/zipfile.html#zipfile . ZipFile.open