#python #tensorflow #keras #bert-language-model
Вопрос:
Я пытаюсь извлечь уроки из сценария python для семантического поиска, который использует трансформатор предложений-BERT, При компиляции этого файла сценария python ( semantic_search.py
) я столкнулся со следующей ошибкой:
Traceback (most recent call last):
File "semantic_search.py", line 6, in <module>
import keras.backend.tensorflow_backend as tb
ModuleNotFoundError: No module named 'keras'
Пожалуйста, укажите возможный источник ошибок и исправлений.
Комментарии:
1. Вы установили пакет keras?
Ответ №1:
Это проблема с версиями keras и tensorflow. Похоже, что этот учебник был написан до того, как keras стал частью tensorflow. Для получения дополнительной информации о том, почему это произошло и какую версию вам следует использовать, см. Эту статью.
Вероятно , вам нужно будет изменить любой импорт в сценарии, который начинается с keras
tensorflow.keras
, если у вас tensorflow версии 2.0 и выше. Так что конкретно для этой строки вы, вероятно, захотите:
import tensorflow.keras.backend as tb
Комментарии:
1. Ваше первое утверждение неверно, код, похоже, использует keras, а не tf.keras, почему не важно. Также обратите внимание, что tf.keras возвращается к самостоятельному пакету keras.
2. Можете ли вы предоставить ссылку в поддержку заявления о том, что keras возвращается к самостоятельному пакету keras? Это новость для меня, я хотел бы быть в курсе этого, если это правильно. Спасибо.
3. Это было упомянуто в README репо keras: github.com/keras-team/keras/commit/…
4. Но в целом я не думаю, что слепой переход с keras на tf.keras является хорошим решением, так как вы не знаете, будут ли дополнительные изменения или побочные эффекты. Кроме того, код может просто не работать.
5. Я попробовал команду «импортировать серверную часть tensorflow.keras.как tb», но она выдает другую ошибку-используя серверную часть TensorFlow. Обратная связь (последний последний вызов): Файл «semantic_search.py», строка 15, в <модуле> tb._SYMBOLIC_SCOPE.значение = True Ошибка атрибута: модуль «tensorflow.keras.серверная часть» не имеет атрибута «_SYMBOLIC_SCOPE»