ImportError: невозможно импортировать имя np_utils
Я пытаюсь запустить следующий пример из keras
но я получаю эту ошибку:
ImportError
Traceback (most recent call last)
<ipython-input-58-50de27eea0f8> in <module>()
8 import numpy as np
9 import matplotlib.pyplot as plt
---> 10 from keras.models import Sequential
11 from keras.layers import Dense, LSTM
12
/usr/local/lib/python2.7/dist-packages/keras/__init__.py in <module>()
1 from __future__ import absolute_import
2
----> 3 from . import utils
4 from . import activations
5 from . import applications
/usr/local/lib/python2.7/dist-packages/keras/utils/__init__.py in <module>()
1 from __future__ import absolute_import
----> 2 from . import np_utils
3 from . import generic_utils
4 from . import data_utils
5 from . import io_utils
ImportError: cannot import name np_utils
Я использую Ubuntu, и я установил keras с:
sudo pip install keras
Этот вопрос уже был задан, но ответа не было: Keras: Can not Import Name np_utils
Ответы
Ответ 1
np_utils
- это отдельный пакет (и зависимость от keras, которая не устанавливается вместе с ним). Может быть установлен с помощью pip:
pip install np_utils
используя - Keras == 2.0.6
Предложение: по каким-то странным (и до сих пор неизвестным) причинам, даже после установки импорта
from keras.utils.np_utils import to_categorical
не сработало - мне пришлось перезапустить ноутбук (первый перезапуск даже не сработал), и как только он сработал, я снова застрял при том же вызове импорта (дал исключение для no module named tensorflow
) - как в утилитах, там другой импорт from. import conv_utils
from. import conv_utils
, который требует тензор потока.
Я попытался установить tenorflow с помощью pip install.
Не удалось найти версию, которая удовлетворяет требованию тензорного потока (из версий:) Не найдено соответствующего распределения для тензорного потока
даже эта суть не сработала для меня.
Наконец, я установил Anaconda, на которой предварительно установлены все научные пакеты (numpy, scipy, scikit-learn,..). Установленные кераты:
conda install keras
Лучше всего было то, что он даже установил тензор потока в качестве своей зависимости.
Ответ 2
Я столкнулся с тем же вопросом. Вам нужно сделать pp install np_utils, а затем перезагрузить терминал. Убедитесь, что все в актуальном состоянии.
Ответ 3
Для keras> 2.0, пожалуйста, используйте вместо from keras.utils import to_categorical
.
Пример использования будет to_categorical(y, num_classes=None)
Ответ 4
Попробуйте импортировать numpy
прежде чем импортировать что-то из keras
(я вижу, что вы уже это сделали, добавляя это только для документирования решения, которое сработало для меня). Я столкнулся с такой же ошибкой, и когда я попытался:
import numpy as np
from __future__ import absolute_import
#Anything from keras
Казалось, все прекрасно. Попробуйте установить последние стабильные пакеты future
и numpy
заранее:
pip install future
pip install numpy
Иногда возможно, что конда и другие установки python могут мешать друг другу. У меня было все, что удалось заваривать заранее, но когда я установил conda, многие из пакетов, которые я ранее установил, дали мне ошибку импорта (из-за переменной PYTHONPATH
).
Ответ 5
Для решения этой проблемы мне пришлось установить shadoworflow. (От virtualenv):
pip install tensorflow
Ответ 6
У меня была аналогичная проблема в системе сборки:
- Keras throwing: ImportError: невозможно импортировать имя np_utils
- Но также неудача утверждения tensorflow: AttributeError: тип объекта 'NewBase' не имеет атрибута 'is_abstract'
В моем случае проблема заключалась в том, что среда сборки, по какой-то причине я не исследовал, имел старую шестую версию (шесть 1.5.0) (по сравнению с моей локальной env). Проблема была решена путем установки последней из шести версий (1.11.0 при написании этого).
pip install six -U
Ответ 7
Попробуйте установить старую версию с помощью Anaconda:
conda install tensorflow-gpu==1.2.1
Ответ 8
Open Anaconda Prompt --> Write this command : **conda install keras**
(base) C:\>conda 'enter code here'install keras
Collecting package metadata: done
Solving environment: done
## Package Plan ##
environment location: C:\Users\sinem.secgin\AppData\Local\Continuum\anaconda3
added / updated specs:
- keras
The following packages will be downloaded:
package | build
---------------------------|-----------------
_tflow_select-2.3.0 | mkl 3 KB
absl-py-0.7.1 | py37_0 158 KB
astor-0.7.1 | py37_0 44 KB
ca-certificates-2019.5.15 | 0 166 KB
certifi-2019.6.16 | py37_0 155 KB
conda-4.7.5 | py37_0 3.0 MB
conda-package-handling-1.3.10| py37_0 280 KB
gast-0.2.2 | py37_0 138 KB
grpcio-1.16.1 | py37h351948d_1 947 KB
keras-2.2.4 | 0 5 KB
keras-applications-1.0.8 | py_0 33 KB
keras-base-2.2.4 | py37_0 489 KB
keras-preprocessing-1.1.0 | py_1 36 KB
libmklml-2019.0.3 | 0 21.4 MB
libprotobuf-3.8.0 | h7bd577a_0 2.2 MB
markdown-3.1.1 | py37_0 132 KB
mock-3.0.5 | py37_0 47 KB
openssl-1.1.1c | he774522_1 5.7 MB
protobuf-3.8.0 | py37h33f27b4_0 581 KB
tensorboard-1.13.1 | py37h33f27b4_0 3.3 MB
tensorflow-1.13.1 |mkl_py37h9463c59_0 4 KB
tensorflow-base-1.13.1 |mkl_py37hcaf7020_0 49.4 MB
tensorflow-estimator-1.13.0| py_0 205 KB
termcolor-1.1.0 | py37_1 7 KB
------------------------------------------------------------
Total: 88.4 MB
The following NEW packages will be INSTALLED:
_tflow_select pkgs/main/win-64::_tflow_select-2.3.0-mkl
absl-py pkgs/main/win-64::absl-py-0.7.1-py37_0
astor pkgs/main/win-64::astor-0.7.1-py37_0
conda-package-han~ pkgs/main/win-64::conda-package-handling-1.3.10-py37_0
gast pkgs/main/win-64::gast-0.2.2-py37_0
grpcio pkgs/main/win-64::grpcio-1.16.1-py37h351948d_1
keras pkgs/main/win-64::keras-2.2.4-0
keras-applications pkgs/main/noarch::keras-applications-1.0.8-py_0
keras-base pkgs/main/win-64::keras-base-2.2.4-py37_0
keras-preprocessi~ pkgs/main/noarch::keras-preprocessing-1.1.0-py_1
libmklml pkgs/main/win-64::libmklml-2019.0.3-0
libprotobuf pkgs/main/win-64::libprotobuf-3.8.0-h7bd577a_0
markdown pkgs/main/win-64::markdown-3.1.1-py37_0
mock pkgs/main/win-64::mock-3.0.5-py37_0
protobuf pkgs/main/win-64::protobuf-3.8.0-py37h33f27b4_0
tensorboard pkgs/main/win-64::tensorboard-1.13.1-py37h33f27b4_0
tensorflow pkgs/main/win-64::tensorflow-1.13.1-mkl_py37h9463c59_0
tensorflow-base pkgs/main/win-64::tensorflow-base-1.13.1-mkl_py37hcaf7020_0
tensorflow-estima~ pkgs/main/noarch::tensorflow-estimator-1.13.0-py_0
termcolor pkgs/main/win-64::termcolor-1.1.0-py37_1
Proceed ([y]/n)? y
Y
Ответ 9
Если вы используете TensorFlow
бэкенд с Keras
убедитесь, что файл keras.json утверждает его Бэкэнд Tensorflow. Код ниже работал для меня:
import os
os.environ['KERAS_BACKEND']='tensorflow'
#Anything from keras
Ура, надеюсь, я кому-то помог. OBS: я использовал Anaconda и Spyder.
Ответ 10
Эта проблема, кажется, имеет разные решения в зависимости от ситуации. Вот еще одно решение, которое помогло мне, когда у меня были именно такие симптомы:
pip install enum34
Установка np_utils, future или другой версии numpy или Theano мне не помогла. Проблема была связана с тем, что Keras использует enum, который существует только в Python3. Enum34 является обратным портом перечисления Python3 для Python2.
Я использовал:
- python2.7
- Keras == 2.3.0
- Theano == 1.0.4 в качестве бэкэнда