【问题标题】:Assertion Errors while importing Keras modules导入 Keras 模块时出现断言错误
【发布时间】:2018-04-03 12:53:12
【问题描述】:

我使用 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"
}

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

提前致谢。

【问题讨论】:

  • 您的系统上有~/.keras/keras.json 的文件吗?如果是,你能打印出其中的任何backend 选项吗?
  • 嗨@ely,已经更新了问题中的json文件。

标签: python python-3.x keras anaconda


【解决方案1】:

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

将此值更改为"tensorflow""theano""cntk" 之一,并确保您还安装了相应的软件包。保存文件并重试。

【讨论】:

  • 谢谢,@ely。我在 keras.json 文件中将后端更改为“tensorflow”,现在错误已解决。我能够成功导入模块。再次感谢:)
猜你喜欢
  • 2020-08-14
  • 2021-10-24
  • 2022-11-30
  • 2016-05-29
  • 1970-01-01
  • 2020-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多