使用 TensorFlow 作为后端的 keras 出错

Posted

技术标签:

【中文标题】使用 TensorFlow 作为后端的 keras 出错【英文标题】:Error with keras using TensorFlow as backend 【发布时间】:2020-05-07 11:21:44 【问题描述】:

我的项目刚开始,我刚刚导入了我需要的包:

from keras.models import Sequential
from keras.layers import Dense

显然 TensorFlow 和 keras 都已安装。无论如何,如果我运行代码,我会收到此错误:

Using TensorFlow backend.
ERROR:root:Internal Python error in the inspect module.
Below is the traceback from this internal error.
.
.
.
Traceback (most recent call last):
  File "c:\users\franc\appdata\local\programs\python\python37\lib\site-
  File "c:\users\franc\appdata\local\programs\python\python37\lib\site-packages\keras\backend\tensorflow_backend.py", line 6, in <module>
    from tensorflow.python.eager import context
ImportError: cannot import name 'context' from 'tensorflow.python.eager' (C:\Users\franc\AppData\Roaming\Python\Python37\site-packages\tensorflow_core\python\eager\__init__.py) 

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\users\franc\appdata\local\programs\python\python37\lib\site-packages\IPython\core\interactiveshell.py", line 2040, in showtraceback
    stb = value._render_traceback_()
AttributeError: 'ImportError' object has no attribute '_render_traceback_'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\users\franc\appdata\local\programs\python\python37\lib\site-packages\IPython\core\ultratb.py", line 1101, in get_records
    return _fixed_getinnerframes(etb, number_of_lines_of_context, tb_offset)
  .
  .
  .
  File "c:\users\franc\appdata\local\programs\python\python37\lib\site-packages\tensorflow_core\__init__.py", line 42, in <module>
    from . _api.v2 import audio
ImportError: cannot import name 'audio' from 'tensorflow_core._api.v2' (C:\Users\franc\AppData\Roaming\Python\Python37\site-packages\tensorflow_core\_api\v2\__init__.py)

我真的不知道如何解决这个问题,我已经检查了许多网站以遵循两个软件包的正确安装但没有结果。我做了正确的安装,但我仍然有这个错误。

【问题讨论】:

你有这些things好吗? 是的,我都安装了 面临类似问题 - ImportError: cannot import name 'context' from 'tensorflow.python.eager'。你找到解决办法了吗? 你克服了这个问题吗?我有同样的问题 【参考方案1】:

你可能想试试 tensorflow 自带的 keras。这个 keras 只使用 tensorflow 作为后端,这正是你所需要的:

import tensorflow as tf
from tf.keras import Sequential
from tf.keras.layers import Dense

参考:https://www.tensorflow.org/guide/keras/overview

【讨论】:

ERROR:root:internal Python error in 检查模块。以下是此内部错误的回溯。

以上是关于使用 TensorFlow 作为后端的 keras 出错的主要内容,如果未能解决你的问题,请参考以下文章

具有Tensorflow后端的Keras的K.function方法是否适用于网络层?

具有Tensorflow后端的Keras - 运行在CPU上预测但适合GPU

Ubuntu 安装 tensorflow-gpu + keras

使用Tensorflow后端的Keras LSTM RNN中令人费解的训练损失与纪元...行为的任何原因

mac 上keras不能用GPU?

如何在 keras 中提供可变大小的图像作为输入