我无法导入 tensorflow-gpu

Posted

技术标签:

【中文标题】我无法导入 tensorflow-gpu【英文标题】:I can't import tensorflow-gpu 【发布时间】:2019-05-17 00:36:54 【问题描述】:

我已经使用pip install tensorflow 成功安装了 tensorflow,并且一切正常。

我也可以使用pip install tensorflow-gpu 成功安装 tensorflow-gpu,但我无法在我的 python 脚本中导入它:

import tensorflow-gpu

File "<stdin>", line 1
import tensorflow-gpu
                 ^
SyntaxError: invalid syntax

我已经安装了 CUDA v9.0 并运行 windows 10

【问题讨论】:

***.com/questions/48060769/…的可能重复 你不需要导入tensorflow-gpu,如果你安装好了cudacudnn,你就可以从tensorflow访问gpu了。 但是我怎样才能确保 tensorflow 使用我的 gpu?你的意思是如果我在我的脚本中导入 tensorflow 会自动使用我的 gpu? ***.com/questions/38559755/… 看哪个GPU的tf知道,除非明确定义,否则会使用GPU(如果可能的话)。 当我执行device_lib.list_local_devices()时我的gpu没有出现我可能因为我在虚拟环境中而找不到我的gpu? 【参考方案1】:

pypi 上的包名为 tensorflow-gpu,但您只需使用“tensorflow”导入即可

 import tensorflow as tf

【讨论】:

您可以先检查您的 GPU 是否正在被使用。如果您的 GFX 卡来自 NVidia,Tensorflow 将使用您的 GPU。如果您有 AMD 卡,您将检查您的卡是否受 PlaidML 支持。如果是,请安装PlaidML,告诉 TF 使用它,然后离开。检查 GPU 使用情况 Windows 10:windowscentral.com/how-track-gpu-performance-data-windows-10 PlaidML:github.com/plaidml/plaidml 它同时具有 GPU 和 CPU 实现。但是当操作分配给设备时,GPU设备将被优先考虑。要找出使用了哪个设备,您可以像这样启用日志设备放置 - sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) 我的 GFX 来自 NVidia,但它不使用我的 gpu(我有一个 gtx1050),并且“sess”中存储的任何内容都是 &gt;&gt;&gt; sess &lt;tensorflow.python.client.session.Session object at 0x000001E2587F8C18&gt;【参考方案2】:

要确保 tensorflow 包正在使用您的 GPU,请执行以下操作:

import tensorflow as tf

sess = tf.Session()

查看控制台上的输出,如果它显示了有关创建会话的 GPU 信息,如下所示。

请注意信息中的“GeForce 940MX”。另请注意,如果计算能力得分高于 3.5,Tensorflow 将使用 Nvidia GPU。更多关于 here.

如果不使用 GPU,则不会输出 GPU 信息,只会显示类似以下内容:

【讨论】:

我有第二个输出,可能是因为我在虚拟环境中运行 tf 吗? 不,这意味着您使用的是 GPU 版本。我建议通过 pip uninstall tensorflow 卸载 tensorflow 并重试。 等等...我必须删除哪个并重新安装?我将它们都删除并再次安装正常的 tensorflow。 这样做:pip uninstall tensorflow,我认为您同时安装了 CPU 和 GPU 版本,因此造成了混乱。如果你这样做 pip uninstall tensorflow-gpu 它会卸载 tensorflow GPU。如果你这样做 pip uninstall tensorflow 它会卸载 tensorflow CPU。 是的,现在我尝试了普通的,但没有任何效果,我现在正在尝试使用 gpu 的

以上是关于我无法导入 tensorflow-gpu的主要内容,如果未能解决你的问题,请参考以下文章

无法在春季导入 org.apache.poi,因此无法编译

无法停止导入数据

为啥颤振无法导入我的模型?

unity 无法正确导入项目

导入 javax.servlet 无法解析 [重复]

无法导入ghostscript