无法在 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.b1,keras 可用 作为一个包(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 版本。
我刚刚在 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.
上述 TensorFlow 的工作版本均未正常工作(无法通过 from tensorflow.package_X import Y
导入 keras 或其他包)。
如果我将 TensorFlow 恢复到版本 2.0.0.b1,keras 可用 作为一个包(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 版本。