导入Keras模块时出现断言错误

时间:2018-04-03 12:53:13

标签: python python-3.x keras anaconda

我使用Pip安装了Keras,当我尝试从Keras导入模块时,它在utils和init模块上给出了一个断言错误。

---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-48-eda57b582878> in <module>()
----> 1 from keras.callbacks import LambdaCallback

C:\ProgramData\Anaconda3\lib\site-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

C:\ProgramData\Anaconda3\lib\site-packages\keras\utils\__init__.py in <module>()
  4 from . import data_utils
  5 from . import io_utils
----> 6 from . import conv_utils
  7 
  8 # Globally-importable utils.

 C:\ProgramData\Anaconda3\lib\site-packages\keras\utils\conv_utils.py in <module>()
  7 from six.moves import range
  8 import numpy as np
----> 9 from .. import backend as K
 10 
 11 

 C:\ProgramData\Anaconda3\lib\site-packages\keras\backend\__init__.py in <module>()
 34     assert isinstance(_epsilon, float)
 35     _backend = _config.get('backend', _BACKEND)
 ---> 36     assert _backend in {'theano', 'tensorflow', 'cntk'}
 37     _image_data_format = _config.get('image_data_format',
 38                                      image_data_format())

 AssertionError:

我在SOF中找到了类似的问题并检查了

 python -c "from keras import backend"

在cmd提示符下,它给我以下错误。

C:\ProgramData\Anaconda3\lib\site-packages\h5py\__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
 from ._conv import register_converters as _register_converters
Traceback (most recent call last):
 File "<string>", line 1, in <module>
 File "C:\ProgramData\Anaconda3\lib\site-packages\keras\__init__.py", line 3, in <module>
   from . import utils
  File "C:\ProgramData\Anaconda3\lib\site-packages\keras\utils\__init__.py", line 6, in <module>
   from . import conv_utils
 File "C:\ProgramData\Anaconda3\lib\site-packages\keras\utils\conv_utils.py", line 9, in <module>
  from .. import backend as K
  File "C:\ProgramData\Anaconda3\lib\site- 
packages\keras\backend\__init__.py", line 36, in <module>
assert _backend in {'theano', 'tensorflow', 'cntk'}

AssertionError

Keras.json:

{
"image_dim_ordering": "tf",
"backend": "mxnet",
"epsilon": 1e-07,
"floatx": "float32"
}

我应该在这些模块中进行哪些更改以避免此错误?

先谢谢。

1 个答案:

答案 0 :(得分:2)

根据您对"mxnet"文件内容的更新,您似乎已将后端设置为"tensorflow",但this is not a permitted backend of Keras

将此值更改为"theano""cntk"<select name="level" value={level} onChange={this.handleChange} className="form-control"> <option>Begineer</option> <option>Intermediate</option> <option>Advanced</option> </select>中的一个,并确保您还安装了相应的包。保存文件,然后重试。