无法在 PyCharm 2019.2 中导入 Keras(来自 TensorFlow 2.0)

Unable to import Keras(from TensorFlow 2.0) in PyCharm 2019.2

我刚刚在 PyCharm.

安装了稳定版的 TensorFlow 2.0(2019 年 10 月 1 日发布)

问题keras包不可用

实际错误是:

"cannot import name 'keras' from tensorflow"

我已经通过 pip install tensorflow==2.0.0 安装了 CPU version,然后通过 pip install tensorflow-gpu==2.0.0.

卸载了 CPU 版本并安装了 GPU 版本

上述 TensorFlow 的工作版本均未正常工作(无法通过 from tensorflow.package_X import Y 导入 keras 或其他包)。

如果我将 TensorFlow 恢复到版本 2.0.0.b1keras 可用 作为一个包(PyCharm 识别it) 并且一切运行顺利。

有办法解决这个问题吗?我在安装过程中犯了错误吗?

更新 --- 从 Python 控制台导入有效,并且允许导入而不会出现任何错误。

已解决 --- 请参阅下面此问题的答案。

解决方案 1(最佳解决方案)

是上面提供的公认答案。它适用于 EAP 版本,我在几台机器上用 Windows.

测试了它

解决方案 2

尽管 PyCharm 无法识别模块,但 运行 可以使用 .py 文件。我仍然不知道这是 TensorFlow 的问题还是 PyCharm,但这是我找到的解决方案,很多人已经 运行 解决了这个问题。

解决方案 3

tensorflow_core 而不是 tensorflow

导入模块

示例:from tensorflow_core.python.keras.preprocessing.image import ImageDataGenerator

但是,正如@Nagabhushan S N 在接受的答案下方和上方的评论中所提到的:

On the other hand avoid imports from tensorflow_core if you do not want to refactor your code in the future.

对于 PyCharm 用户

对于那些使用 PyCharm 的人。从 here 安装未来 (EAP) 版本 2019.3 EAP build 193.3793.14。有了它,您将能够为当前稳定版本的 TensorFlow(即 2.0)使用自动完成功能。我已经尝试过了并且有效:).

对于其他 IDE

对于使用其他IDE的用户,这个问题要等到稳定版发布后才能解决,反正现在也是这样。但这可能需要更多时间才能修复。请参阅评论 here。我认为等待并继续使用 version 2.0.0.b1 是明智的。另一方面,如果您不想在将来重构您的代码,请避免从 tensorflow_core 导入。

注意: 要使自动完成工作,请使用如下导入语句

import tensorflow.keras as tk

# this does not work for autocomplete 
# from tensorflow import keras as tk  

自动完成适用于 CPU 版本的 TensorFlow 2.0.0,但自动完成不适用于 GPU 版本。