【问题标题】:Can't Import Keras from Tensorflow library in Python无法从 Python 中的 Tensorflow 库导入 Keras
【发布时间】:2019-02-09 00:34:53
【问题描述】:

我一直在尝试使用以下语句从 tensorflow 导入 keras:

import tensorflow as tf
from tensorflow import keras

Tensorflow 已更新,据我所知它应该可以工作,但我仍然收到以下消息:

from tensorflow import keras
ImportError: cannot import name 'keras' from 'tensorflow'(/Users/gabork/PycharmProjects/Tester/venv/lib/python3.7/site-packages/tensorflow/__init__.py)

解决方案:我使用的 Python 3.7 似乎最近的 TensorFlow 版本不支持,另一方面,旧版本的 TensorFlow 不支持 Keras。 现在我要么降级 Python,要么只导入 keras。

【问题讨论】:

  • 我觉得应该是from tf import keras
  • 你安装了哪个版本的TensorFlow?
  • @MatiasValdenegro 使用print(tf.__version__) 我得到0.12.0
  • @UpasanaMittal 直接用不行,用tensorflow.python或tensorflow.contrib也行不通。

标签: python tensorflow keras pycharm python-import


【解决方案1】:

我会尝试import keras 看看是否可行。

【讨论】:

  • 这似乎可行,但我仍然想知道为什么其他方式不可行。
  • 这既不能回答问题也不能解决问题,因为这样做你当然会导入独立的 Keras,而不是包含 Tensorflow 的 Keras(惊讶于它被 OP @C 接受.Szasz)
  • @desertnaut 因为事实证明这是不同版本的兼容性问题,所以导入 keras 或降级将解决我的问题。
  • @C.Szasz 你的意思是你一开始就不知道import keras这个选项是可用的?
  • @desertnaut 抱歉,我不熟悉这些库的层次结构。我正在关注 TensorFlow 上的教程,收到一条错误消息,尝试研究它,问了一个问题,现在我学到了一些东西。如果我可以问,您有更好的解决方案吗?
【解决方案2】:

您使用的是 TensorFlow 0.12.0,太旧了,keras 包含在您拥有的版本的较新版本中,这就是您收到导入错误的原因。

所以要么更新 TensorFlow(强烈推荐),要么单独安装 keras。

【讨论】:

  • 有趣。当我在终端中更新时,它是 1.10.1 版本,但在 PyCharm 中,当我尝试更新时,它只是说:Requirement already up-to-date: tensorflow in ./venv/lib/python3.7/site-packages (0.12.0)
  • @C.Szasz 您只需安装两个 TF 版本,一个在 virtualenv 中,另一个在 python 中(没有 virtualenvs)。
  • @matias-valdenegre 好的!现在我尝试按照 Tensorflow 说明更新 virtualenv,我得到了 Could not find a version that satisfies the requirement tensorflow (from versions: ) No matching distribution found for tensorflow
猜你喜欢
  • 1970-01-01
  • 2019-02-12
  • 1970-01-01
  • 1970-01-01
  • 2018-06-12
  • 2022-12-28
  • 1970-01-01
  • 2020-01-30
  • 1970-01-01
相关资源
最近更新 更多