#tensorflow #keras #python-3.9
Вопрос:
Когда я пытаюсь запустить код Python для глубокого обучения с использованием библиотеки TensorFlow, я получаю следующую ошибку:
2021-10-24 10:07:13.619481: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found
2021-10-24 10:07:13.619752: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
2021-10-24 10:07:18.797570: E tensorflow/core/lib/monitoring/collection_registry.cc:77] `Cannot register 2 metrics with the same name: /tensorflow/api/keras/optimizers`
Traceback (most recent call last):
File "C:UsersAdminDownloadsCompressedFace-Mask-Detection-masterdetect_mask_image.py", line 5, in <module>
from tensorflow.keras.applications.mobilenet_v2 import preprocess_input
File "C:Python39libsite-packageskerasapi_v2keras__init__.py", line 8, in <module>
from keras import __version__
File "C:Python39libsite-packageskeras__init__.py", line 25, in <module>
from keras import models
File "C:Python39libsite-packageskerasmodels.py", line 20, in <module>
from keras import metrics as metrics_module
File "C:Python39libsite-packageskerasmetrics.py", line 26, in <module>
from keras import activations
File "C:Python39libsite-packageskerasactivations.py", line 20, in <module>
from keras.layers import advanced_activations
File "C:Python39libsite-packageskeraslayers__init__.py", line 23, in <module>
from keras.engine.input_layer import Input
File "C:Python39libsite-packageskerasengineinput_layer.py", line 21, in <module>
from keras.engine import base_layer
File "C:Python39libsite-packageskerasenginebase_layer.py", line 43, in <module>
from keras.mixed_precision import loss_scale_optimizer
File "C:Python39libsite-packageskerasmixed_precisionloss_scale_optimizer.py", line 18, in <module>
from keras import optimizers
File "C:Python39libsite-packageskerasoptimizers.py", line 26, in <module>
from keras.optimizer_v2 import adadelta as adadelta_v2
File "C:Python39libsite-packageskerasoptimizer_v2adadelta.py", line 22, in <module>
from keras.optimizer_v2 import optimizer_v2
File "C:Python39libsite-packageskerasoptimizer_v2optimizer_v2.py", line 36, in <module>
keras_optimizers_gauge = tf.__internal__.monitoring.BoolGauge(
File "C:Python39libsite-packagestensorflowpythoneagermonitoring.py", line 360, in __init__
super(BoolGauge, self).__init__('BoolGauge', _bool_gauge_methods,
File "C:Python39libsite-packagestensorflowpythoneagermonitoring.py", line 135, in __init__
self._metric = self._metric_methods[self._label_length].create(*args)
tensorflow.python.framework.errors_impl.
AlreadyExistsError: Another metric with the same name already exists.
Окружающая среда:
Версия Python: 3.9
ОС: Windows
Библиотека: TensorFlow API
Комментарии:
1. Убедитесь, что вы не устанавливали tf-nightly и tf одновременно в одной и той же среде.
2. Если мой ответ помог вам, пожалуйста, не забудьте отметить его как лучший ответ, пожалуйста 🙂
Ответ №1:
Похоже, это ошибка с tensorflow 2.6 см. https://forums.developer.nvidia.com/t/unable-to-import-keras-models-on-tensorflow-2-6-0-jetpack-v46/191904
У меня была такая же проблема, и я решил ее, понизив рейтинг до tensorflow 2.5, пока проблема не будет решена в будущем обновлении.
** Редактировать: 2.7 отсутствует и, похоже, устранил проблему.
* Примечание: я использую tensorflow со своим процессором, а не с графическим процессором.
Ответ №2:
Обновление: TensorFlow уже выпустила версию 2.7.0
(здесь ), поэтому использование последней версии устранит вашу проблему. Эта конкретная ошибка была исправлена в версии 2.6.2, хотя на самом деле.
Вчера у меня возникла эта проблема во время выполнения задания сборки CI на Github, но код работал локально нормально.
Я решил это, временно понизив рейтинг до TensorFlow 2.5.2, пока проблема не будет решена в будущем обновлении.
Версия 2.5.2 является последней версией перед версией 2.6.0. Я подтвердил, что 2.6.0 и 2.6.1 не работали для меня (на момент написания).
Ответ №3:
Сегодня я столкнулся с примерно такой же проблемой при сборке CI, и вчера ее не было. Итак, я провел расследование, и, похоже, виновником является keras 2.7, а не tensorflow: https://github.com/keras-team/keras/issues/15585
С моей стороны, решением было ограничить индекс версии Keras до <2.7, но я сообщу, если будет реализовано более стабильное исправление.
Приветствия!
РЕДАКТИРОВАТЬ: исправленная версия TF 2.6.2 исправляет это (ранее ограничение свободной версии для keras). Так что либо добавьте ограничение <2.7.0 для keras с существующей версией TF, либо обновите до TF 2.6.2!
Ответ №4:
Здесь у вас есть две проблемы:
- Установка CUDA отсутствует.
- Проблема с библиотекой TensorFlow.
В первом случае вы можете выполнить процедуру, описанную здесь
Что касается проблемы с TensorFlow, то для меня сработало понижение Keras до 2.6.0 с использованием pip install keras==2.6.0
(на данный момент, вероятно, это должно быть 2.6.1) до той же версии, что и TensorFlow (в моем случае версия TensorFlow — 2.6.0). Пожалуйста, дайте мне знать, что это работает для вас.
Ответ №5:
Столкнулся с этим при запуске кода на внешнем графическом процессоре, решил проблему, обновив TensorFlow до версии 2.7