无法在 PyCharm 2019.2 中导入 Keras(来自 TensorFlow 2.0)
Posted
技术标签:
【中文标题】无法在 PyCharm 2019.2 中导入 Keras(来自 TensorFlow 2.0)【英文标题】:Unable to import Keras(from TensorFlow 2.0) in PyCharm 2019.2 【发布时间】:2020-01-30 23:26:38 【问题描述】:我刚刚在 PyCharm 中安装了稳定版 TensorFlow 2.0(2019 年 10 月 1 日发布)。
问题是keras包不可用。
实际错误是:
"无法从 tensorflow 导入名称 'keras'"
我已经通过pip install tensorflow==2.0.0
安装了CPU version
,然后卸载了CPU版本,安装了GPU版本,通过pip install tensorflow-gpu==2.0.0.
上述工作版本的 TensorFlow 都不能正常工作(无法通过 from tensorflow.package_X import Y
导入 keras 或其他包)。
如果我将 TensorFlow 恢复到版本 2.0.0.b1,keras 可以作为一个包使用(PyCharm 识别它)并且一切都运行顺利。
有没有办法解决这个问题?我在安装过程中犯了错误吗?
更新 --- 从 Python 控制台导入可以正常工作并允许导入而不会出现任何错误。
【问题讨论】:
我今天安装了它工作正常我使用 pip install tensorflow-gpu 。 您应该提供一段实际失败并显示问题的代码,而不是提供一些没有真正显示任何内容的屏幕截图。您可能只是以错误的方式导入内容。 截图旨在证明 PyCharm 甚至无法在 TensorFlow 中看到 keras 包。错误是'cannot import keras from tensorflow --- Unable to find module keras' 这似乎是 PyCharm IDE 的错误,据我在 GitHub 和 PyCharm 上打开的单独问题上阅读:intellij-support.jetbrains.com/hc/en-us/community/posts/… 好的,很抱歉可能有点粗鲁,我真的不明白问题出在哪里。很高兴您能够(或多或少)解决它。 【参考方案1】:已解决 --- 请参阅下面此问题的答案。
解决方案 1(最佳解决方案)
是上面提供的公认答案。它适用于 EAP 版本,我在几台装有 Windows 的机器上进行了测试。
解决方案 2
虽然 PyCharm 无法识别模块,但运行 .py 文件可以。我仍然不知道这是TensorFlow还是PyCharm的问题,但这是我找到的解决方案,很多人都遇到过这个问题。
解决方案 3
从tensorflow_core
而不是tensorflow
导入模块
示例:from tensorflow_core.python.keras.preprocessing.image import ImageDataGenerator
但是,正如@Nagabhushan S N 在接受的答案下面和上面的评论中提到的那样:
另一方面,如果您不这样做,请避免从 tensorflow_core 导入 希望将来重构您的代码。
【讨论】:
答案确实已经过编辑,因为我明确指出上面添加了最佳解决方案。 好的,抱歉。我的错。如果您可以进行细微更改,我将删除反对票 没问题,很好,我们现在在同一个波长上(我现在将编辑它) 另外,正如 Praveen Kulkarni 的回答中提到的,我建议您为第三种解决方案添加以下警告:On the other hand avoid imports from tensorflow_core if you do not want to refactor your code in the future.
您可以提供指向他的回答的链接:***.com/a/58192020/3337089【参考方案2】:
对于 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 解决这个问题。感谢您的评论。以上是关于无法在 PyCharm 2019.2 中导入 Keras(来自 TensorFlow 2.0)的主要内容,如果未能解决你的问题,请参考以下文章