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 в качестве бэкэнда