ImportError:无法导入名称np_utils

Eli*_*ons 27 python keras

我正试图从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  
Run Code Online (Sandbox Code Playgroud)

我正在使用Ubuntu,我安装了keras:

sudo pip install keras 
Run Code Online (Sandbox Code Playgroud)

这个问题已被提出但没有答案: Keras:无法导入名称np_utils

Nab*_*med 26

np_utils是一个单独的包(和keras依赖 - 它不能与它安装).可以使用pip安装:

pip install np_utils
Run Code Online (Sandbox Code Playgroud)

使用 - Keras == 2.0.6


建议:对于一些奇怪的(并且仍然未知)原因,即使在安装导入之后

from keras.utils.np_utils import to_categorical
Run Code Online (Sandbox Code Playgroud)

没有工作 - 我不得不重新启动笔记本(第一次重启甚至没有工作),一旦它工作,我再次陷入相同的导入调用(给予例外no module named tensorflow) - 因为在utils中有另一个导入from . import conv_utils,这需要tensorflow.

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

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

即使这个要点也不适合我.


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

conda install keras
Run Code Online (Sandbox Code Playgroud)

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


小智 9

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

from keras.utils import to_categorical
Run Code Online (Sandbox Code Playgroud)

但我设法解决了这个问题:

from tensorflow.keras.utils import to_categorical
Run Code Online (Sandbox Code Playgroud)


mun*_*inn 8

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


小智 8

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

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


Mim*_*eng 6

对于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
Run Code Online (Sandbox Code Playgroud)

它似乎对我来说效果很好。future尝试通过以下方式预先安装最新的稳定包numpy

pip install future
pip install numpy
Run Code Online (Sandbox Code Playgroud)

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