ImportError:无法导入名称np_utils

时间:2017-07-17 16:32:44

标签: python keras

我正在尝试从keras运行以下example

但是我收到了这个错误:

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: Cannot Import Name np_utils

15 个答案:

答案 0 :(得分:24)

np_utils是一个单独的包(和keras依赖 - 它不会随之安装)。可以使用pip安装:

pip install np_utils

使用 - Keras == 2.0.6

<强>建议: 出于某些奇怪(甚至未知)的原因,即使在安装导入

之后也是如此
from keras.utils.np_utils import to_categorical

没有用 - 我不得不重新启动笔记本(第一次重启甚至没有工作),一旦它工作,我再次陷入同样的​​导入调用(给no module named tensorflow例外) - 如utils还有另一个导入from . import conv_utils,它需要张量流。

我确实尝试使用pip install tensorflow安装tensorflow:

  

找不到满足需求张量流的版本   (来自版本:)没有找到tensorflow的匹配分布

即使这gist也不适用于我。

最后,我installed Anaconda - 预先安装了所有科学包(numpy,scipy,scikit-learn,..)。已安装的keras:

conda install keras

最好的是,它甚至安装了tensorflow,因为它依赖。

答案 1 :(得分:8)

我遇到了同样的问题。您需要执行pip install np_utils然后重新启动终端。确保一切都是最新的。

答案 2 :(得分:4)

对于 keras> 2.0 ,请改用@see

用法示例为from keras.utils import to_categorical

答案 3 :(得分:3)

我实际上在使用时遇到了类似的问题

from keras.utils import to_categorical

但我设法解决了:

from tensorflow.keras.utils import to_categorical

答案 4 :(得分:2)

在从numpy导入内容之前尝试导入keras(我看到您已经这样做了,我只是为了记录适用于我的解决方案而添加此内容)。当我尝试时,我遇到了同样的错误:

import numpy as np
from __future__ import absolute_import
#Anything from keras

它似乎对我很好。尝试通过以下方式安装futurenumpy的最新稳定包:

pip install future
pip install numpy

有时可能 conda 和其他python安装可能会相互干扰。我事先通过brew管理了所有内容,但是当我安装 conda 时,我之前安装的许多软件包都给我一个导入错误(因为PYTHONPATH变量)。

答案 5 :(得分:2)

他们将所有内容都转移到了utils,因此,如果您使用的是tf 2.x或更高版本的keras,则仅为tf.keras.utilskeras.utils

例如: keras.utils.np_utils.to_categorical-> keras.utils.to_categorical

答案 6 :(得分:1)

我不得不安装tensorflow来解决这个问题。 (来自virtualenv):

 pip install tensorflow

答案 7 :(得分:1)

从tensorflow.python.keras.utils

导入tf_utils ImportError:无法导入名称“ tf_utils”

pip install keras==2.1.5 -i https://pypi.tuna.tsinghua.edu.cn/simple

https://blog.csdn.net/CLOUD_J/article/details/103101247

答案 8 :(得分:1)

将tensorflow导入为tf

y_train = tf.keras.utils.to_categorical(y_train,num_classes = 7)

这在Google Colab中有效

答案 9 :(得分:0)

我在构建系统中遇到类似的问题:

  • 抛出错误:ImportError:无法导入名称np_utils
  • 但是tensorflow断言失败:AttributeError:类型对象'NewBase'没有属性'is_abstract'

在我的情况下,问题是构建环境,出于某些我未调查的原因,它具有旧的六个版本(六个1.5.0)(与本地环境相比)。通过安装最新的六个版本(编写此版本时为1.11.0)解决了该问题。

pip install six -U

答案 10 :(得分:0)

尝试使用Anaconda安装旧版本:

conda install tensorflow-gpu==1.2.1

答案 11 :(得分:0)

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

答案 12 :(得分:0)

如果您将<!--language:lang-CSharp--> public ActionResult OrderSummary (Order model) { var card = GetCard(); return Json(model,JsonRequestBehavior.AllowGet); } <!--language:lang-CSharp--> //This is the method that location href redirects to. Properties inside "Order model" are null. public ActionResult OrderConfirm (Order model) { var card = GetCard(); return View(model); } 的后端与TensorFlow一起使用,请确保您的keras.json文件声明其后端为Tensorflow。下面的代码对我有用:

Keras

干杯希望我能帮助别人。 OBS:我当时在使用Anaconda和Spyder。

答案 13 :(得分:0)

根据情况,此问题似乎有不同的解决方案。当我出现这些确切症状时,这是另一种对我有帮助的解决方案:

pip install enum34

安装np_utils,future或numpy或Theano的其他版本对我没有帮助。问题是由于Keras使用枚举,仅在Python3中存在。 Enum34是Python3枚举向Python2的反向移植。

我正在使用:

  • python2.7
  • Keras == 2.3.0
  • Theano == 1.0.4作为后端

答案 14 :(得分:0)

在2.x或更高版本中,Keras已打包到TensorFlow中,现在您可以调用TensorFlow中的所有内容。 np_utils已移至util,您只需执行以下操作即可使用它:

tf.keras.utils.to_categorical(
y, num_classes=None, dtype='float32'
)